Was ist der Unterschied zwischen einem einfachen Gauß-Filter und einem Gauß-Filter multipliziert mit seiner Summe seiner Elemente?

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

Beide Matrizen sind gleich, außer dass die Matrix B mit der Summe ihrer Elemente multipliziert wird. Wenn sie mit einem Bild gefaltet werden, ergeben sie fast das gleiche unscharfe Bild.

Was ist der genaue Unterschied zwischen ihnen und wann sollten sie verwendet werden?

Animesh Pandey
quelle
4
Die offensichtliche Antwort: Der Unterschied zwischen den beiden Ausgängen ist ein Faktor von da der Filter linear ist. 116
Jason R

Antworten:

8

Die am weitesten rechts stehende (wo Sie durch die Summe dividieren) stellt sicher, dass der Ausgang des Filters den gleichen Dynamikbereich wie der Eingang hat.

Tatsächlich sind die ausgegebenen unscharfen Bilder nicht gleich, da ihre Pixelwerte unterschiedlich sind. Sie haben das Gefühl, dass sie ähnlich sind, weil Ihre Software (ich nehme an, Matlab) die Intensitätswerte der Pixel einem Bereich neu zuordnet, der für typische Anzeigen akzeptabel ist, dh 8-Bit-Werte zwischen 0 und 255. Wenn Sie mehr verwendet haben "Nah am Metall" -Software oder -Bibliothek, dann müssten Sie diesen Vorgang selbst ausführen.

Datendynamikbereich

Der Dynamikbereich eines Bildes wird entweder durch die im Bild vorhandenen minimalen und maximalen Intensitätswerte oder durch die minimale und maximale Intensität angegeben, die durch das digitale Format dargestellt werden können, das zum Speichern der Intensitätswerte verwendet wird. (Aus dem Kontext ist normalerweise klar, welche der Definitionen verwendet wird.)

Typische Bereiche sind (mit ganzzahligem Abstand), die einer 8-Bit-Quantisierung entsprechen, und für Gleitkommawerte (entweder einfache oder doppelte Genauigkeit). Die gleiche Konvention wird in Computergrafik, OpenGL usw. verwendet.[2,255][0,1]

Wenn Sie überall ein konstantes Bild mit dem Wert 1 aufnehmen:

  • Der linke Filter gibt überall ein konstantes Bild mit dem Wert 16 aus.
  • Die zweite (ganz rechts) erzeugt ein konstantes Bild mit dem Wert 1.

An diesem einfachen Beispiel können Sie sehen, dass ein Filter die Energie des Bildes bewahrt hat, während der zweite es vergrößert hat.

Während es in diesem Fall harmlos ist , kann es in der Praxis zu zahlreichen Problemen führen . Beispielsweise können iterative Algorithmen (aufgrund numerischer Überläufe ) divergieren , Ihrem Computer gehen möglicherweise die Bits zur Darstellung Ihrer Daten aus oder Sie verlieren an Genauigkeit (Gleitkommawerte mit einfacher und doppelter Genauigkeit haben über den Bereich von keine einheitliche Genauigkeit die möglichen Werte).

Sansuiso
quelle
Könnten Sie bitte den "Dynamikbereich" erläutern, den Sie in Ihrer ersten Zeile erwähnt haben?
Animesh Pandey
Ich habe die Antwort bearbeitet. Bitte zögern Sie nicht, weitere Informationen anzufordern.
Sansuiso
1

Wenn Sie ein Bild mit einem Filter falten, hängt das Ergebnis sowohl vom Filter als auch von den Bildpixelwerten ab. Wenn der Filter nicht eins ergibt, hat er seinen eigenen positiven Beitrag zur Faltung. Wenn Sie beispielsweise ein Bild falten, das nur aus einem konstanten Wert besteht, mit einem Filter, der nicht eins ergibt, führt die Faltung zu einem Bild mit einem höheren konstanten Wert. Dieser Filter würde also die durchschnittliche Helligkeit des Bildes ändern, was möglicherweise nicht wünschenswert ist.

Der genaue Unterschied zwischen beiden Bildern wäre ein konstanter Term, dh die Summe des Filterkerns, der Dynamikbereich, der die Differenz zwischen positiven und negativen Werten darstellt, würde genau gleich bleiben.

NoNameNo
quelle