質問

カメラを動かすと、ウェブカメラと機能が一致する画像システムを構築しました。カメラの動きを追跡できます。 ここ、ただしWebカメラフレームを入力として使用する場合を除きます。

「良い」画像には非常に効果的ですが、非常に暗い場所で画像を撮影すると、多くのノイズが発生し(カメラの高ゲイン)、特徴の検出とマッチングが混乱します。基本的に、優れた機能は検出されません。検出された場合、フレーム間で正しく一致させることはできません。

誰かがこれに対する良い解決策を知っていますか?特徴を見つけて照合するために他にどのような方法が使用されていますか?

機能が非常に低い2つの画像の例を次に示します。

Frame 1

フレーム2

役に立ちましたか?

解決

ここでは、位相相関が最善の策になると思います。これは、2つの画像間の位相シフト(つまり、変換)を通知するように設計されています。周波数空間で動作するため、機能検出よりもノイズに対する耐性がはるかに高くなります(ただし、耐性はありません)。一方、特徴検出器は空間的に動作します。もう1つの利点は、特徴検出方法と比較した場合、非常に高速であるということです。 ここ

ただし、画像は中央の折り目を除いてほとんど「特徴がない」ため、位相相関でさえ問題が発生する可能性があります。吹雪の中の翻訳を検出しようとするようなものだと考えてください。表示されているのが白だけの場合、翻訳したことはまったくわかりません。したがって、ホワイトアウト。あなたの場合、アルゴリズムは「グリーンアウト」に悩まされるかもしれません:)

暗い場所でうまく機能するようにカメラの設定を調整できますか。虹彩を完全に開きましたか?より低いフレームレートで生活できますか?より長い露出時間を設定すると、カメラはより多くの光を集めることができるため、モーションブラーを追加する代わりに、より多くの機能を提供できます。または、低照度がデフォルトの環境である場合は、IRカメラなど、このために設計されたものが必要になる可能性がありますが、それらは高価になる可能性があります。それ以外は、大きなレンズと長時間露光があなたの友達です:)

ヒストグラム均等化は、画像のコントラストを改善するのに役立つ場合があります。しかし、時にはそれは単にノイズを高めることができます。 OpenCVには、 equalizeHist 。よりローカライズされた実装については、Contrast Limited Adaptive HistogramEqualizationまたは CLAHE を参照してください。ショート。 こちらはその良い記事です。 このページにはいくつかの良い例といくつかのコードがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top