opencv圖像坐標


原圖:

 

尺寸:240 × 150

灰度化:

 

 

1. 程序中輸出像素點的灰度值:

 

 

2. 用工具取得的灰度值:

按照如下的坐標(圖像處理坐標系)

 

得到的灰度值:

35,82)

 

82,35)

 

換算后分別是125(差兩個像素值應該是誤差)和178與之前的相對應

 

--------------------------------------------------------------------------------------------------

但是在【畫圖中】我們取的(35,82),底下卻顯示(82,35)

 

這是因為windows的坐標系是這樣的:

 

--------------------------------------------------------------------------------------------------

 

結論1:

opencv嚴格按照數字圖像的坐標系取像素點

 

當你創建一個2*5的數組array[2][5]的時候

1 2 3 4 5

6 7 8 9 0

轉成圖像便是width*height=5*2的圖像

要注意的就是這里。

 

一般我們會首先取得圖像,很容易會這樣寫

w = size.width = 5

h = size.height = 2

然后遍歷

int val = img.at<uchar>(w,h)

重點:但是img中最后一個是img.at<char>(1,4),而不是img.at<char>(4,1),這里很容易就會發生溢出,這問題賊煩

 

結論2:

opencv不要使用size.width和size.height(很容易去對應x,y),改為使用row(對應x)和col(對應y)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM