OpenCV中圖像Mat存儲格式和MATLAB中圖像Mat存儲格式的區別

首先,看一下圖像中的寬高與笛卡爾座標系之間的關係如下圖所示,即x與width(cols)對應,y與height(rows)對應,x是按列來進行變化,y按行變化。
圖1 笛卡爾座標系與圖片存儲的關係
OpenCV讀入圖像以Mat形式存儲時,爲Mat(Width,Height),訪問時用的是A=Mat.at(y,x),y代表行,x代表列;
MATLAB讀入圖像以Mat形式存儲時,爲Mat(Height,Width),訪問時用B=Mat(y,x),同OpenCV,由於存儲時互爲轉置關係,因此訪問同一幅圖片中同一個像素,MATLAB裏面的Mat(i,j)對應的OpenCV裏面爲Mat(j,i)。對比如圖2
圖2 OpenCV和MATLAB圖像存儲格式
對於opencv的Rect(int x,int y,int width,int height)結構而言,x代表起始點的列座標(即cols),y代表起始點的行座標(即rows)。

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