2017-02-21 6 views
0

CCTV映像の人を検出するプログラムを作ろうとしており、多くの進歩を遂げました。残念なことに、ビデオ内のノイズの量は、サンプルビデオごとに異なるカメラと時刻の間で大きく異なります。これは、必要なNoiseSigmaが1から25まで変化することを意味します。OpenCV:BackgroundSubtractorMOGでNoiseSigmaを自動的に設定する効果的な方法

私はfastNlMeansDenoisingColored関数を使用しましたが、少し助けましたが、NoiseSigmaは依然として問題です。

ビデオを一度ループすると効果的でしょうか?何らかの理由でビデオのノイズがどのようになっているのか、ノイズとノイズの関係を作りますか?どんなアイディアも大歓迎です。

答えて

0

ノイズが含まれていない参照データがなくても、画像(またはビデオ)のノイズレベルを判断することはできないと思います。私の頭に浮かぶのは、いくつかの静的な風景を記録して、すべてのフレームがどのように違うかを測定し、その測定値とNoiseSigmaとの間にある程度の関係(うまくは線形)を見つけようとすることです。全くノイズがなかった場合は、フレーム間の累積差が累積差で0になります私はこのような何かを意味:

合計がスカラー値を生成するための画像(フレーム)のすべての要素を足し
for i=1, i<frames.count(), ++i 
{ 
    cumulativeError += sum(abs(frame(i) - frame(i-1))) 
} 
cumulativeError/=frames.count() 

。 私はここで私の直感に従っていることを覚えておいてください。これは私が以前に見た方法ではありません。

関連する問題