OpenCV 画素値参照 - eiichiromomma/CVMLAB GitHub Wiki

(OpenCV) 画素値参照

ポインタからダイレクトに画像の値を参照

やり方

faq - OpenCV Library Wiki に出ている通り。

8bit-1channelの場合を例にとると

((uchar*)(img->imageData + img->widthStep * y))[x]

とあるように(uchar*)としてキャストしておく必要がある。

同じ型同士への代入にはキャストが無くても問題無いが、double等への代入をすると変な数になりハマる。

8bit- n channelの場合はxをnChannels倍して該当チャネルk(BGRの場合 B:0, G:1, R:2)を加えた値となる。

((uchar*)(img->imageData + img->widthStep * y))[img->nChannels * x + k]