OpenCV座標系與row&col的關係

座標體系中的零點座標爲圖片的左上角,X軸爲圖像矩形的上面那條水平線;Y軸爲圖像矩形左邊的那條垂直線。該座標體系在諸如結構體Mat,Rect,Point中都是適用的。(雖然網上有學着說OpenCV中有些數據結構的座標原點是在圖片的左下角,但是我暫時還沒碰到過)。

在使用image.at(x1, x2)來訪問圖像中點的值的時候,x1並不是圖片中對應點的x軸座標,而是圖片中對應點的y座標。因此其訪問的結果其實是訪問image圖像中的Point(x2, x1)點,即與image.at(Point(x2, x1))效果相同。

                                              row == heigh == Point.y//行

                                              col == width == Point.x //列

                                            Mat::at(Point(x, y)) == Mat::at(y,x)//

因爲還有點的座標,所以建議在訪問時都用Mat::at(Point(x, y))這種形式吧,免去了點座標和行列的轉換。

IplImage*dst = NULL;
dst =cvCreateImage(cvSize(600, 480), IPL_DEPTH_8U, 3);

這裏創建的dst是480行600列的,先列後行

Mat dst;
dst =Mat(480, 600, CV_8UC3);

這裏創建的dst同樣是是480行600列的,但是先行後列

RectROI_rect;
ROI_rect.x=10;
ROI_rect.y=20;

這裏表示定義的感興趣區域(矩形)的左上角像素的座標x,y是(10,20),即位於第20行,第10

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章