[問題] 有關OpenCV 的空間座標疑問
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
大家好, 最近常常利用Matlab和C之間寫程式, 發現常常會對座標搞混.
當我用OpenCV中face detection method時, 得到臉部的區域, Opencv用CvRect表示
一張人臉的結構, 我測試了一下 其中CvRect的x,y 座標表示法為圖1.
但在使用Opencvc函數cvGet2D去讀取IplImage影像結構時, 座標表示法好像變成圖2
---------> x ---------> y
| |
| |
v v
y x
圖1 圖2
若我的圖為 image[height][width]
要讀圖的pixel時
for (i=0;i < width ;i++)
for (j=0 ; j < height ;j++ )
pixel = cvGet2D(image , j, i); <=== 若是將此行改成
pixel = cvGet2D(image, i, j);
就會出錯
想請問各位, 我的認知有錯嗎? 我覺得非常奇怪, 明明都是OpenCv的函數
為什麼座標系會不一樣, 這樣寫程式的人不會感覺很困擾嗎?
各位若發現我想法有誤, 請不要客氣多多指教, 謝謝大家.
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dec C++
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.198.47
※ 編輯: overtime23 來自: 220.133.198.47 (10/04 21:43)
推
10/04 22:12, , 1F
10/04 22:12, 1F
※ 編輯: overtime23 來自: 220.133.198.47 (10/04 22:17)
→
10/04 22:18, , 2F
10/04 22:18, 2F
→
10/04 22:59, , 3F
10/04 22:59, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章