opencv中座標的問題

2021-08-18 21:12:02 字數 784 閱讀 3921

晚上在寫相關係數法匹配程式時,發現有乙個地方不停的報錯,好像是座標超限的錯誤,我上網查了一下,原來並不是x,y座標定義並不是自己之前想的那樣。

row == heigh == point.y

col == width == point.x

mat::at(point(x, y)) == mat::at(y,x)

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

補充(詳細解釋)

座標體系中的零點座標為的左上角,x軸為影象矩形的上面那條水平線;y軸為影象矩形左邊的那條垂直線。該座標體系在諸如結構體mat,rect,point中都是適用的。(雖然網上有學著說opencv中有些資料結構的座標原點是在的左下角,但是我暫時還沒碰到過)。

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

如果所畫圖像是多通道的,比如說image影象的通道數時n,則使用mat::at(x, y)時,其x的範圍依舊是0到image的height,而y的取值範圍則是0到image的width乘以n,因為這個時候是有n個通道,所以每個畫素需要占有n列。但是如果在同樣的情況下,使用mat::at(point)來訪問的話,則這時候可以不用考慮通道的個數,因為你要賦值給獲取mat::at(point)的值時,都不是乙個數字,而是乙個對應的n維向量。

OpenGL座標的問題?

include stdafx.h include static glfloat xrot 0.0f static glfloat yrot 0.0f 繪製場景 void renderscene void this function does any needed initialization on ...

座標的轉換

各地圖api座標系統比較與轉換 wgs84座標系 即地球座標系,國際上通用的座標系。裝置一般包含gps晶元或者北斗晶元獲取的經緯度為wgs84地理座標系,谷歌地圖採用的是wgs84地理座標系 中國範圍除外 gcj02座標系 即火星座標系,是由中國國家測繪局制訂的地理資訊系統的座標系統。由wgs84座...

獲取網頁中滑鼠的座標

主要是兩段 把這兩段 加入你儲存後的頁面檔案中就可以了,加入方法如下 1.在 標記之前插入如下一段 如插入後的示例如下 2.在標記中加入如下一段 nm usem ve statusreport 加入後的示例如下 3.儲存檔案 用ie瀏覽器開啟修改過的頁面後,在頁面中移動滑鼠,滑鼠所在位置的x,y座標...