単純なガウスフィルターとその要素の合計を掛けたガウスフィルターの違いは何ですか?


7
1 2 1                         1 2 1                    
2 4 2 (A)            (1/16) * 2 4 2  (B)
1 2 1                         1 2 1

両方の行列は、行列Bにその要素の合計が乗算されることを除いて、同じです。画像を畳み込むと、ほぼ同じぼやけた画像になります。

それらの正確な違いは何ですか?いつ使用する必要がありますか?


4
明らかな答え:フィルターは線形であるため、2つの出力の差は因数です。116
Jason R

回答:


8

右端のもの(合計で割るところ)は、フィルターの出力が入力と同じダイナミックレンジを持つことを保証します。

実際には、ピクセル値が異なるため、出力されるぼやけた画像は同じではありません。ソフトウェア(Matlabと思います)はピクセルの輝度値を通常のディスプレイで許容される範囲(つまり、0〜255の8ビット値)に再マッピングするので、それらは似ていると感じます。 「金属に近い」ソフトウェアまたはライブラリの場合、この操作は自分で行う必要があります。

データダイナミックレンジ

画像のダイナミックレンジは、画像に存在する最小強度値と最大強度値、または強度値の格納に使用されるデジタル形式で表すことができる最小強度と最大強度のいずれかによって与えられます。(コンテキストから、通常、どの定義が使用されているかは明らかです。)

一般的な範囲は、8ビットの量子化に対応する(整数間隔)と、浮動小数点値(単精度または倍精度)のです。同じ規則がコンピュータグラフィックス、OpenGLなどで使用されます。[2,255][0,1]

どこでも値1の一定の画像を取得する場合:

  • 左のフィルターは、どこでも値16の一定の画像を出力します。
  • 2番目(右端)は、値1の一定のイメージを生成します。

この単純な例から、1つのフィルターが画像のエネリーを保持し、2番目のフィルターがそれを増加させていることがわかります。

この場合無害ですが、実際には多くの問題が発生する可能性があります。たとえば、反復アルゴリズムが発散する可能性があります数値のオーバーフローが原因で)、コンピューターがビットを使い果たしてデータを表す可能性があります。または、精度が失われる可能性があります(単精度および倍精度の浮動小数点値は、可能な値)。


最初の行で述べた「ダイナミックレンジ」について詳しく教えてください。
Animesh Pandey 2013

回答を編集しました。詳しくはお気軽にお問い合わせください。
sansuiso 2013

1

フィルターを使用して画像をたたみ込む場合、結果はフィルターと画像のピクセル値の両方に依存します。フィルターの合計が1にならない場合は、畳み込みに対して独自のプラスの影響があります。たとえば、合計が1にならないフィルターを使用して、定数値のみで構成される画像をたたみ込む場合、たたみ込みはより高い定数値を持つ画像になります。したがって、このフィルターは画像の平均輝度を変更するため、望ましくない場合があります。

両方の画像の正確な差は定数項になります。つまり、フィルターカーネルの合計、正と負の値の差であるダイナミックレンジは、まったく同じままです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.