掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28895

1bitの画素のRBG値を取り出す方法
投稿者---おかもち(2006/11/15 16:36:22)


題名の通り、1画像の各ビットのRBG値を取り出す良い方法を知っている方いらっしゃいませんでしょうか。

2枚の画像の、対応するビットのRBG値を比較して、大きく変化している部分を取り出すという操作をしたいのですが、上で述べた操作をしてくれるような関数などないでしょうか?

また、2点のRBG値を取り出せたとして、どう比較したら”大きな変化”である、と決めることができるでしょうか。ヒストグラムなど用いるという案もあるのですが、RBG値は3つの値なわけで、どう比較に用いたらいいか困っているところです。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:1bitの画素のRBG値を取り出す方法 28896 kolona 2006/11/15 16:54:06
<子記事> Re:1bitの画素のRBG値を取り出す方法 28898 nop 2006/11/15 17:02:39


No.28896

Re:1bitの画素のRBG値を取り出す方法
投稿者---kolona(2006/11/15 16:54:06)


>題名の通り、1画像の各ビットのRBG値を取り出す良い方法を知っている方いらっしゃいませんでしょうか。

1bit画像のRGBという意味がわかりません。一番簡単なBitmapデータの場合、RGB情報を保持するのであれば24bit使うのが一般的です。1bitだと、1色があるかないかの情報しかもてないので、これは白黒画像です。もしかして1bitではなく1dotまたは1pixelのことですか?


この投稿にコメントする

削除パスワード

No.28900

Re:1bitの画素のRBG値を取り出す方法
投稿者---おかもち(2006/11/15 17:11:26)


もしかして1bitではなく1dotまたは1pixelのことですか?

すいません、そういうことです・・。動画の1フレームずつをキャプチャして前後のフレームを比較し、差分を検出するという処理になります。まだアルゴリズムを考えている時点なので、そのキャプチャした画像のフォーマットがどうなるのかわかりません。

開発環境はVisual Studio .NET 2003です。





この投稿にコメントする

削除パスワード

No.28901

Re:1bitの画素のRBG値を取り出す方法
投稿者---nop(2006/11/15 17:37:07)


とりあえず、やりたいことが大雑把すぎです。
アルゴリズムを考えるより、
まず、「何をやりたいのか?」をもっと細かく検討すべきです。

例えば、

・画像のフォーマットはどうするか?
・何のために比較するのか?
・比較した結果はどの様に使うのか?
・その使用方法のためには、どの様な比較結果が必要なのか?

など、細かいことが見えてきません。

そもそも、一口に「大きな変化」と言っても、
どの様な変化があれば「大きな変化」なのですか?

また、画像フォーマットによって、
データの格納方法などが変わるので、
画像フォーマットが判らなければ、
答えようがありません。


この投稿にコメントする

削除パスワード

No.28911

Re:1bitの画素のRBG値を取り出す方法
投稿者---おかもち(2006/11/16 15:56:42)


>・画像のフォーマットはどうするか?

bitmap形式として取り込みます

>・何のために比較するのか?
>・比較した結果はどの様に使うのか?

実は・・・
カメラ固定の、動物の映像をキャプチャして、取り出した前後のフレームの差分を求めることで動物を追跡するプログラムを書こうとしています。前後フレームの各ドットの色の違いを検出することで、動物の動きの変化を取り出せたらと思い、このような処理を行おうとしています。


>・その使用方法のためには、どの様な比較結果が必要なのか?
背景などの微妙な変化などを検出せず、動物の動きだけを検出できるように、背景と動物の色がはっきりとわかるようにするつもりです。そしてはっきりとした色の変化を出るよう、比較結果がほしいです。


この投稿にコメントする

削除パスワード

No.28912

Re:1bitの画素のRBG値を取り出す方法
投稿者---ぽへぇ(2006/11/16 17:43:41)


>開発環境はVisual Studio .NET 2003です。
>bitmap形式として取り込みます

ビットマップファイルのロード/セーブに関しては
CImageクラス辺りを使うのが楽かもしれません。

私自身はCImageを使ったことがなく、
http://msdn2.microsoft.com/en-gb/library/ms532276.aspx
辺りを使ってしまいますが。

ドットの情報はポインタで得ることができます。



この投稿にコメントする

削除パスワード

No.28913

Re:1bitの画素のRBG値を取り出す方法
投稿者---あかま(2006/11/16 18:38:46)


幸せワード:
背景差分法(移動物体のない理想的な背景画像があるとき)
統計的背景差分法(樹木等,背景にちょっと動くものがあるとき)
フレーム間差分法(移動物体のない理想的な背景がないとき)

>RBG値は3つの値なわけで、どう比較に用いたらいいか困っているところです。
白黒(濃淡情報あり)に変換してから触ればやりやすいかも。


この投稿にコメントする

削除パスワード

No.28914

Re:1bitの画素のRBG値を取り出す方法
投稿者---kolona(2006/11/16 18:55:51)


>カメラ固定の、動物の映像をキャプチャして、取り出した前後のフレームの差分を求めることで動物を追跡するプログラムを書こうとしています。
>背景などの微妙な変化などを検出せず、動物の動きだけを検出できるように、背景と動物の色がはっきりとわかるようにするつもりです。そしてはっきりとした色の変化を出るよう、比較結果がほしいです。

そこまでやるとなると、その処理は画像パターン認識になると思います。
http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98

背景が変わらないという前提があれば、事前に登録した背景画像とフレーム毎に差分を取ることで変化した部分を見つけることはできると思います。ビットマップデータの2次元配列2つを比較して、閾値以上の変化がある部分を探すだけです。それより動画データをビットマップに落とす方が大変だと思いますが。データサイズも、ビットマップにしたとたんに膨大になります。

でも、動物を追うという目的でしたら、赤外線を使った検出の方が背景を気にする必要が(可視光ほどは)ないので楽だと思います。


この投稿にコメントする

削除パスワード

No.28898

Re:1bitの画素のRBG値を取り出す方法
投稿者---nop(2006/11/15 17:02:39)


ついでに、環境や画像のフォーマットも明記しましょう。
特に画像のフォーマットは重要です。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧