我得到了視頻(.avi)的參考圖像,因此圖像的寬度和高度必須與視頻的寬度和高度相同。爲什麼opencv無法正確報告IplImage *的寬度和高度?
(我的視頻是一個CvCapture*
和我的圖像是IplImage*
)
寬度爲1280和高度爲960;
但是,當我告訴OpenCV,如果一個像素的座標是在特定的矩形,然後做一些事情。圖像的所有寬度都是該矩形的寬度。
const int Y1 = 430, Y2 = 730, X1 = 0, X2 = 1279 ;
for (int i = Y1; i <= Y2; i++)
for (int j = X1; j <= X2; j++)
CV_IMAGE_ELEM(frame_BGR, uchar, i, j) = 255;
但只有近1/5的頁面寬度現在是白色!然後我X2 = 3000
。然後所有的圖像寬度現在是白色和愚蠢的事情是,當我改變X2 = 10000
然後代碼沒有報告SEGMENTATION FAULT
。
爲什麼寬度報告功能無法正常工作?
我在Ubuntu-g ++和Windows 7上運行它 - visual studio 2010.我認爲我的分辨率很高。我知道該視頻是由諾基亞5800手機拍攝的。這對我來說非常重要,所以請原諒我,如果我非常具體!
看起來您的圖像是RGB,而您錯誤地使用了CV_IMAGE_ELEM,這就是爲什麼您只能看到圖像的三分之一被設置爲白色。 – 2012-04-03 13:11:14
還有一個問題:當我說'if(dots [i] .x> = x1 && dots [i] .x <= x2 && dots [i] .y> = y1 && dots [i] .y < = y2)'它仍然考慮寬度的1/5!點是一個'矢量'。問題是什麼? –
2012-04-03 13:58:46