- 締切済み
c++のプログラミングにて
青い背景にボールが映っている画像があります HSB値に対する閾値処理を行いボールだけを抽出したいのですが プログラミング素人の自分には全くわかりません サンプルプログラムやヒントなどをどうかお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
回答No.2
1.元画像から1ピクセル持ってくる 2.たぶんBRG値になってるからHSB値に直す 3.H、S、Bごとに「青からどれだけ遠いか?」を求め、それぞれの遠さを評価して、総合的に「0~255」の値を作る。近ければ(青ければ)0に、遠ければ255にする 4.求めた0~255の値を「アルファチャンネルの値」として、対応するピクセルのアルファ値にする 5.以上を全ピクセルに対して繰り返す 6.出来上がったアルファチャンネルも含めて、RGBAの4チャンネルの画像に保存する 以上。 なお「ボールの中に背景の青と同じ色」があった場合、そこも背景として抜けてしまうので注意すること。
- monova
- ベストアンサー率68% (68/100)
回答No.1
簡単に言えば、欲しいオブジェクトの色情報を背景の色情報と比較して、 閾値を設定する…と、いった感じです。 ここで、全てを説明すると長くなるので、ここら辺を参考にしてください。 http://laputa.cs.shinshu-u.ac.jp/~gtakano/prog2.html 本なら、この辺かな。 http://www.tdupress.jp/books/isbn978-4-501-32860-3.html この書籍は持っていませんが、目次を見ると解説していそうです。 キーワードは 「クロマキー」や「画像抽出」ですね。
質問者
お礼
ありがとうございました! 参考文献まで! すぐ図書館いって見つけました! 今後もよろしくお願いします!
お礼
ありがとうございました! とても参考になりました! 今後もなにかあったらよろしくお願いします!