2017-10-17 32 views
0

我正面臨性能下降問題。我做了一些研究,似乎重映射功能需要太多時間。圖像大小是VGA,但有趣的區域約佔該區域的1/4。因此,我只想爲這個區域使用remap(),最後得到約1/4 VGA區域的圖像。如何在OpenCV中對特定區域進行重映射

這是圖像輸入的VGA分辨率-green矩形是矩形trackableArea

希望的輸出,但在VGA

通過生成:

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

什麼時候 我儘量讓重映射僅在特定的區域:

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

我預期 - 與trackableArea矩形的所需的分辨率拉伸所需的圖像。

map1和map2是從getPerspectiveTransform生成的,從輸入圖像中只獲取電視屏幕。 TrackableArea是一個Rect像這裏(綠線):

任何想法如何使它成爲可能或如何remap()應該看起來像?

+0

爲什麼qt的標籤? – AlexanderVX

+0

我使用qt框架,所以也可以使用qt方法和opencv。 – RobertLT

回答

0

我的回答對自己:)所以這有助於:

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

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