ページ 11

OpenCVについて

Posted: 2013年12月17日(火) 15:10
by smile
現在, WebカメラとOpenCVを使用してプログラムを作成しています.

cvFindContours関数で輪郭抽出を行い, そして

cvDrawContours関数でその輪郭をRGB値を指定して描画します.

このとき,
cvDrawContours(contour,find_contour,cvScalar(0, 0, 255),cvScalar(0, 0, 255) , CONTOUR_MAX_LEVEL,CV_FILLED,CV_AA,cvPoint(0,0));
のように第6引数を〖CV_FILLED〗とすることで, 輪郭線内を塗りつぶすことができます.
この場合は赤で塗りつぶしています.

ここで疑問なのですが,

赤く塗りつぶした個所のRGB値を調べたところ, もとの背景画像のRGB値のままでした.

塗りつぶした個所のRGB値を, RGB(255, 0, 0)としたいのですがどのようにすればいいのでしょうか.


ご回答よろしくお願いします.

Re: OpenCVについて

Posted: 2013年12月17日(火) 15:58
by usao
赤く塗りつぶした結果の画像を表示して目視した場合,
その箇所は赤くなってますか?
なっているなら,その位置の画素値を取得すれば当然赤を示す値が得られるハズですので

>赤く塗りつぶした個所のRGB値を調べたところ
↑この処理が何か間違っているのではないでしょうか

Re: OpenCVについて

Posted: 2013年12月17日(火) 16:12
by smile
熟練のプログラマーさん
ご回答ありがとうございます.

目視したところ, 赤く塗りつぶしができているのは確認しました.

RGB値を調べる方法ですが, マウスを動かしたときそのマウスが指し示す画素のRGB値を出力する

という方法で行っています.

塗りつぶしただけで画素のRGB値そのものは変わっていないのかもしれませんし,

ご指摘通りRGB値を調べる方法が間違っているのかもしれません・・・

再度参考書等を見ながら取り組みたいと思います.ありがとうございました