[英]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.