簡體   English   中英

OpenCV-獲取圖像的一部分

[英]OpenCV - Getting a part of an image

我想將一部分圖像加載到另一幅圖像中。 有幾種簡單的方法可以做到這一點,但是例如cv::Mat OutImage = Image(cv::Rect(7,47,1912,980))但-得到的圖像很大例如:
我得到了1920 x 1024像素的圖像。 我想從中切出一個cv:Rect(7,47,1912,980)。 我建議,結果圖像的大小為(1912-7 = 1905)x(980-47 = 933)像素,但它的大小為1912 x980。看來,Opencv只是在右下側切割並保持左上方區域。

圖像的尺寸很重要,因為在下一步中,我要執行減法運算,僅當Mat對象具有相同的尺寸時才有效。 我也不想使用我自己設計的循環,因為性能非常重要。

有任何想法嗎?

此致Jan

它實際上是cv:Rect(x,y,width,height) ,因此您應該將最后兩個參數設置為您希望的輸出寬度和高度。 請注意您設置的范圍,否則可能會導致錯誤。

我也已經處理了這個問題,在這里我只舉一個例子,它對我很好。 您也可以嘗試這個。

 Rect const box(100, 295, 400, 185); //this mean the first corner is
                                      //(x,y)=(100,295)
                                     // and the second corner is
                                     //(x + b, y+c )= (100 +400,295+185)

 Mat ROI = frame(box);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM