在計算機中,圖像是以矩陣的形式保存的。一張 寬×高×顏色通道=256×640×3 的圖片會保存在一個 640×256×3 的三維矩陣中。我們習慣的座標表示爲(x,y)
,在OpenCV中對圖像處理時的座標表示爲(y,x)
,即img.shape
返回的是( 高度,寬度 )=(y,x)
。然而cv2.resize()
,cv2.warpAffine()
函數的dst
和dsize
參數輸入是 (寬度,高度)
,與img.shape
相反。這裏一定要注意!!很容易出錯
img[50,10]
也不是表示(x,y)
爲(50,10)的那個像素,與img.shape
的原理相同,它表示的也是(y,x)
,即表示第50列第10行的那個元素。
座標體系中的原點爲圖片的左上角,X軸爲圖像上邊界水平線;Y軸爲圖像左邊界垂直線。
在訪問圖像中點的值(x1,x2)
時,x1並不是圖片中對應點的x軸座標,而是圖片中對應點的y座標。因此其訪問的結果其實是訪問image圖像中的(x2,x1)
點。