Re: [問題] OpenCV 的 BMP RGB讀取的方法

看板C_and_CPP (C/C++)作者 (灰狼)時間16年前 (2009/07/23 22:20), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串4/4 (看更多)
以下是某位大大(不願具名) 在看到我的問題以後的回信 他解答的相當清楚 也有附很棒的參考資料 在他的允許下 我把這文章分享出來 希望能對也要用OpenCV處理圖片的新手有幫助了!! --------------------------------------------------- ※ 引述《grayyoung (灰狼)》之銘言: 想請問一下 有人知道怎麼讀取像素中的RGB嗎?? 例如像這樣是讀取灰階值 intensity = cvRound(cvGetReal2D(img, i, j); 想問一下有沒有人知道讀取RGB是用什麼語法 -------------------------------------------------- CV_IMAGE_ELEM(檔名, 資料型態, i, j) 資料型態是指IplImage裡面資料的型態,通常會是uchar IplImage裡面資料的排列順序是BGR,是三個channel 所以假使我要讀RGB的值的話,j記的要乘以channel數 不過灰階只有1 channel,所以不用擔心這個問題 B = CV_IMAGE_ELEM(檔名, 資料型態, i, j*3) G = CV_IMAGE_ELEM(檔名, 資料型態, i, j*3+1) R = CV_IMAGE_ELEM(檔名, 資料型態, i, j*3+2) ------------------------------------------------------------------------------ 大概就是這個樣子 不過我想我講的或許不是很清楚 有Opencv的問題可以找找看以下這個地方 http://yester-place.blogspot.com/ 讀RGB值的問題他也有寫 http://yester-place.blogspot.com/2008/07/iplimage2.html -----------------以上---------------------- 謝謝這位不願意具名的大大的分享了!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.139.4

07/23 23:10, , 1F
#define CV_IMAGE_ELEM( image, elemtype, row, col ) \
07/23 23:10, 1F

07/23 23:11, , 2F
(((elemtype*)((image)->imageData + (image)->widthStep*(
07/23 23:11, 2F

07/23 23:12, , 3F
row)))[(col)]) 發現貼不完...
07/23 23:12, 3F

07/24 11:00, , 5F
ro/index.html
07/24 11:00, 5F

07/24 11:14, , 6F
幫樓上縮一下 http://ppt.cc/NlLW
07/24 11:14, 6F
文章代碼(AID): #1AQ770Lp (C_and_CPP)
文章代碼(AID): #1AQ770Lp (C_and_CPP)