• 締切済み

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

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

  • kn15
  • お礼率33% (10/30)

みんなの回答

  • chie65535
  • ベストアンサー率43% (8519/19366)
回答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

  • Canny法に用いる閾値の決定法について

    とあるプログラムをしている者です。 Canny法を用いてエッジ抽出を試みているのですが、 ヒステリシス閾値で用いる高い閾値と低い閾値の適切な決定法がわかりません。 最終的には抽出の対象となる画像ごとに適切な閾値を設定し 処理をかけたいと考えています。 しかし、対象とする画像の背景と抽出したいオブジェクトの色の濃度が 画像によって大きく変化するため、従来の決定法では対応しきれていない現状です。 そこで、Canny法に用いる適切な閾値の決定法がありましたら ぜひご教授頂きたいと思います よろしくお願いします

  • c++でのプログラミングについて

    画像の中心を求める式はわかるんですが それのプログラムの書き方がわかりません。 ヒントやサンプルコードを教えてください s- ちなみに x = 1/N∑xi y = 1/N∑yi これの(x,y) です。 Nは求める画像の画素群です。 お願いします。

  • どうプログラミングすればいいでしょうか

    画像の様な画面をswingでプログラミングするにはどうすればいいでしょうか サンプルプログラムも載せていただけるとありがたいです。

    • ベストアンサー
    • Java
  • プログラミングC#が難しくて困っています。

    プログラミングをしたいと思い、独習C#を使ってプログラミングの勉強中です。 プログラミングは全くの初心者です。 他の入門書でもそうなのかもしれませんが、論理演算子やビット演算子、配列などの内容が書かれていますが、これらが一体何の役に立つのか分からなくて困っています。 読んでいても理解できないです。 本にケチを付けているわけではないです。 おそらく私にプログラミングのセンスがないんだと思います。 また、この本では、コンソールアプリケーションの説明が多いのですが、私はウェブアプリケーションに関心があります。 基礎だと思って読み進めるべきでしょうか? サンプルプログラムも地道に本の真似をして自分で打っていったほうがいいのでしょうか? わからないことがあってGoogleで調べても、理解できないです。 本当に、プログラミングが難しいです。 独習C#のような本は、全て理解する必要があるのでしょうか? 質問が多くなって申し訳ありません。

  • VBAでの画像の二値化について

    画像の二値化についての質問です 植被率についてのプログラムを作りたいと思っています そこで画像の解析ソフトを作成したいと思っているのですが、画像の色の閾値を指定して(緑を抽出して)白黒の二値化をするにはどのようにプログラミングをすればよろしいのでしょうか?

  • プログラミング 【C言語】について

     プログラミングについての質問です。  九九表を表示するプログラムを作りなさいという問題です。 ただし、for()を使わずお願いします。  while()を使えばいいのか..... これで、どのようにすれば作れるでしょうか? 簡単な方法でお願いします。 まとまらない文章で  すみません。 できれば、 フローチャートのヒントもください。 よろしくお願いします。

  • Cプログラミングについて

    学校で、タイトル「Cプログラミングとはどのようなものか」でプログラミング未経験者を対象としたCプログラミング紹介文を書けというレポートが出たのですが、私自身数ヶ月前初めてプログラミングというものを知ったので自分でも良く分かりません(;;)プログラムの例としてはhello world以外で行番号を付けるプログラム(繰り返しやifを使わないといけないみたいです・・)を作成して、説明に使わないといけないみたいです。。自分でも覚えたいので、誰か教えてください><紹介されているサイトとかでもいいです。お願いします。。

  • C言語のプログラミングについてです><

    今C言語のプログラミングの勉強をしているのですが、わからないプログラムがでてきたので教えてくださる方がいらっしゃれば、ご教授願いたいです。 数当てゲームの作成 1~9(0は除く)のなかから4つの異なる数字をランダムで選択し、4桁の数をつくる。ユーザは4つの数字の並びを入力して、作られた数を当てる。 ユーザの入力した数と作られた数を比較して、同じ数字が同じ桁にある場合は"Hit"というヒントを与える。また、同じ数字が異なる桁にある場合は"Blow"というヒントを与える。すなわち、作られた数が5849で、ユーザが4829という数値を入力した場合、"2 Hit 1 Blow"というヒントが表示されるようにする。 ユーザは10回まで、入力するチャンスが与えられる。 といった感じのプログラミングなんですが、C言語初心者である自分にはまったくわかりません; ; どなたかわかる方がいらっしゃれば、助けていただけないでしょうか?よろしくお願いします!

  • マックでCプログラミングを

     タイガーにはxcodeというものがついてきて、(それがなにかもよくわからない素人ですが)私も、何かプログラムして創造的なことをやってみたいと思うようになりました。  そこで、マック上でC言語を用いたプログラミングを行うのに、推薦の参考書、ホームページ等を教えていただけませんか?

    • ベストアンサー
    • Mac
  • C++でのDirectXプログラミングについて

    自分は、VC++を使ってDirectXプログラミングを行っているのですが、 Webや書籍で公開されている方のコードを見ていると、 クラスを定義していくオブジェクト指向の形式ではなく、 ただ処理を書き下していく構造化言語の形式をとるコードを多く見かけます。 自分は、C++でプログラミングを行っていると言うことで、 機能毎にクラスをひとつひとつ丁寧に定義して、プログラムを作っている最中なのですが、 人にクラスを使ってもらうわけでない以上、処理を書き下す形式で問題ないように思えてきました。 クラスの定義をクラス毎に書かない分、コードを書くのが早いように思うので、 むしろ処理を書き下す形式の方が良いようにも思うのですが、 オブジェクト指向がもてはやされている世間体を考えると、 自分の考えに自信が持てないので、玄人の方の意見を参考したいと質問させて頂きました。 意見をお聞かせ下さいませんか?

専門家に質問してみよう