• 締切済み

c++のプログラミングにて

青い背景にボールが映っている画像があります HSB値に対する閾値処理を行いボールだけを抽出したいのですが プログラミング素人の自分には全くわかりません サンプルプログラムやヒントなどをどうかお願いします

みんなの回答

回答No.2

1.元画像から1ピクセル持ってくる 2.たぶんBRG値になってるからHSB値に直す 3.H、S、Bごとに「青からどれだけ遠いか?」を求め、それぞれの遠さを評価して、総合的に「0~255」の値を作る。近ければ(青ければ)0に、遠ければ255にする 4.求めた0~255の値を「アルファチャンネルの値」として、対応するピクセルのアルファ値にする 5.以上を全ピクセルに対して繰り返す 6.出来上がったアルファチャンネルも含めて、RGBAの4チャンネルの画像に保存する 以上。 なお「ボールの中に背景の青と同じ色」があった場合、そこも背景として抜けてしまうので注意すること。

kn15
質問者

お礼

ありがとうございました! とても参考になりました! 今後もなにかあったらよろしくお願いします!

  • 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 この書籍は持っていませんが、目次を見ると解説していそうです。 キーワードは 「クロマキー」や「画像抽出」ですね。

kn15
質問者

お礼

ありがとうございました! 参考文献まで! すぐ図書館いって見つけました! 今後もよろしくお願いします!

関連するQ&A