2017-10-17 2 views
0

Ich bin mit dem Problem der Leistungsabfall konfrontiert. Ich habe etwas recherchiert und es scheint, dass Remap-Funktion zu viel Zeit braucht. Bildgröße ist VGA, aber interessante Fläche hat etwa 1/4 dieses Bereichs. Daher möchte ich remap() nur für diese Region verwenden und schließlich ein Bild mit etwa 1/4 des VGA-Bereichs erhalten.Wie Remap bestimmter Bereich in OpenCV

Dieses Bildeingabe in VGA-Auflösung -grün rect trackableArea Rect

aber in VGA

generiert durch ist

gewünschte Ausgangs:

remap(originalCornersSamples[i], rview, map1, map2, INTER_NEAREST); 

Wann Ich versuche, neu zuordnen machen nur auf bestimmten Gegend:

remap(frame_bgr, rview, map1(trackableArea), map2(trackableArea), INTER_NEAREST); 

ich erwartet habe - gestreckt gewünschte Bild mit der gewünschten Auflösung des trackableArea rect.

map1 und map2 wurden aus getPerspectiveTransform generiert, um nur den TV-Bildschirm vom Eingabebild zu erhalten. Die TrackableArea ist ein Rect wie hier (grüne Linien):

Irgendwelche Ideen, wie man es machen kann oder wie die remap() aussehen soll?

+0

Und warum qt-Tag? – AlexanderVX

+0

Ich verwende qt framework, also können qt Methoden und opencv auch verwendet werden. – RobertLT

Antwort

0

antworte ich mir :) Also das half:

resize(map1,modified,Size(trackableArea.width,trackableArea.height), 0, 0, INTER_CUBIC); 

remap(frame_bgr, rview, modified, map2(trackableArea), INTER_NEAREST); 
Verwandte Themen