- PR -

背景差分法について

投稿者投稿内容
ぶぅぶぅ
常連さん
会議室デビュー日: 2005/10/19
投稿数: 20
投稿日時: 2005-12-19 00:01
えとですねぇ、本来ならば差分を取った部分だけが黒く写ったりしますよね?
そうじゃなくて、全体的に黒いんです!
2枚の画像というのは、あるカメラで連続して撮影したものなので、ズレは無いと思うんですが…背景部分は一緒で手がもう一枚のほうに写ってるだけなのです。
白くならなければならないところが黒いのはなぜでしょうか…
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2005-12-19 09:27
カメラで撮影したものについて、いくら連続でも、正確にRGBが一緒というのは、期待しすぎじゃないんですか。
誤差の範囲を見積もっておくとか、差の量でグレイスケールにするとかならどうでしょうか。
ぶぅぶぅ
常連さん
会議室デビュー日: 2005/10/19
投稿数: 20
投稿日時: 2005-12-19 12:54
私もグレイスケールなら…と思ってグレイスケールに変換して差分とってみたんですが、カラー画像のときよりはまだましなんですが結構黒いままなんですよねー。
もう少し他の画像でもやってみますが。
たぶんソースは間違い無いと思うので、画像が悪いだけだと思います。。
くれよん
ベテラン
会議室デビュー日: 2005/04/28
投稿数: 74
投稿日時: 2005-12-19 13:23
こんにちわ。背景差分についての確認です。

@背景差分は、ちゃんと背景とそれぞれのフレームの差分になっていますか?
背景 - 1フレーム目 = 1フレーム目差分
背景 - 2フレーム目 = 2フレーム目差分
背景 - 2フレーム目 = 2フレーム目差分

もし、iフレーム目 - (i+1)フレーム目 = 差分 となっていれば、背景差分ではなく、フレーム間差分になり、あのプログラムではうまく動かないと思います。

Aまた背景差分の動画は、カメラを三脚かなにかで固定したものになっていますか?
もし、カメラを固定していなければ、背景が動く事になり、あのプログラムではうまく動きません。

カメラを固定して撮影したデータで、背景差分のプログラムになっていて、結果がおかしい場合は、フレームレートを高くして撮影してみてはどうでしょうか?また、差分画像(背景-iフレーム目の画像)はごま塩ノイズが乗っていると思うので、メディアンフィルターに通すのもいいかもしれません。


[ メッセージ編集済み 編集者: ジュン 編集日時 2005-12-19 13:35 ]
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2005-12-19 15:28
ああ、やっとやりたいことが伝わりましたよ。クロマキーの前景画像のような、「背景を省いた、手前の画像」を取り出したいんですよね。

それってまじめにやろうとするとものすごく奥が深くて大変なんです。いろんな技術があって、そういうことをまじめに研究されている方々や商売にされている方々もいます。
技術解説については映像処理関連の書籍とか論文とかを探すといろいろと出てくると思います。
MPEGの仕様はこういう「画像ごとの差分」情報を利用していますからいくらか参考になると思いますよ。
あとはウェーブレット変換とかを使った「3D(時間軸)ノイズリダクション」もキーワードになるでしょうか。

簡易的にやるならば、輝度値の誤差範囲はもちろん、画素座標の誤差範囲も考慮に入れて差分を取らないと真っ黒になるかノイズまみれになりますね。

Javaの会議室よりは「画像処理」のコミュニティに聞いたほうがいい話題かもしれませんね。私も詳しくないので、この程度しか言えません。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2005-12-19 15:58
ある瞬間に撮影した画像の(0,0)の色が、例えば(255,255,255)であるとして、
次の瞬間確実に(255,255,255)とは、言えないわけです。
(255,255,254)だと見た目では分からないけれど、
先のプログラムではこれでも黒になりますよね。

例えば250〜255は最初の255と同じと見なすとかいうのが、誤差の考慮の根本的なところです。

こういうことをしないと、ほとんど黒になるのは仕方ないところですね。
ぶぅぶぅ
常連さん
会議室デビュー日: 2005/10/19
投稿数: 20
投稿日時: 2005-12-19 16:34
みなさん、書き込みありがとうございます!!
>ジュンさん
カメラ自体はずっと固定されているのでズレというものは無いと思います。
まだ試験的に2枚でしかやってませんが、ちゃんとその方法を取る予定です。
メディアンフィルタですかー。

>びしばしさん
そうです、びしばしさんの言うように差分をとりたいんです!
やっぱり難しそうですね。。
どうにかしてやりたいんですけど…もう少し勉強してみなくては!ってな感じです。
とりあえず、画像処理コミュにて聞いてみます!!

>mioさん
そうですねぇ。。今は=でつないでるからそうなってしまいますよね、実際。
例えば240±10とかで指定したい場合はどうやって書けばいいのでしょうか??
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2005-12-20 09:57
細かいものを作るなら、専門のお勉強が必要になるでしょう。
本当に簡単でいいなら、値をRGBにばらして、
r1 - 5 < r2 && r2 < r1 + 5
とかでも、ある程度の効果はあるんじゃないでしょうか。

スキルアップ/キャリアアップ(JOB@IT)