Im Rahmen einer Hausaufgabe implementieren wir den Inverse Filter. Verschlechtern Sie ein Bild und stellen Sie es mit einem inversen Filter wieder her.
Ich falte das Bild im räumlichen Bereich mit einem 5x5-Boxfilter. I FFT den Filter, FFT das verschlechterte Bild, dann dividiere das verschlechterte Bild durch den Filter. Inverse FFT das Ergebnis in ein Bild und ich bekomme Müll.
Wenn ich das Bild FFT, den Filter FFT, die beiden multipliziere, das Ergebnis durch den FFT-Filter dividiere, komme ich dem Originalbild offensichtlich sehr nahe. ((X * Y) / Y ~ == X)
Ich habe eine Ahnung, dass die Mathematik nicht so einfach ist wie "räumlich gefaltete == FFT-Multiplikation".
Was ist der richtige Weg, um den Inversen Filter zu verwenden? Ich habe den genauen verwendeten Kernel, der das Bild verschlechtert. Ich füge keinen Lärm hinzu.
In Boviks Lehrbuch The Essential Guide to Image Processing wird der Inverse Filter fast vollständig verworfen. Gonzalez & Woods ist etwas hoffnungsvoller, springt aber fast sofort zum Wiener Filter.
Ich habe eine ähnliche Frage auf stackoverflow.com /programming/7930803/inverse-filter-of-spatially-convolved-versus-frequency-convolved-image
(Diese Fragen sollten auch mit [Hausaufgaben] markiert sein, aber das Tag existiert noch nicht und ich habe nicht den Repräsentanten, um es zu erstellen.)
BEARBEITEN. Für einige der großartigen Vorschläge unten. @ dipan-mehta Bevor ich FFT, fülle ich den Faltungskern auf die gleiche Größe wie das Bild. Ich setze den Kernel oben links ein. Ich ifft (ifftshift ()) speichere dann auf einem Bild und bekomme ein gutes Ergebnis. Ich habe das ifft (ifftshift ()) sowohl für den Kernel als auch für das Image ausgeführt. Gute (ish) Ergebnisse. (Bilder finden Sie in meiner Frage zu /programming/7930803/inverse-filter-of-spatially-convolved-versus-frequency-convolved-image .)
@ Jason-r ist wahrscheinlich richtig. Ich verstehe die Mathematik der zugrunde liegenden Faltung + Transformation nicht. "Entfaltung" war ein neues Wort für mich. Ich habe noch viel zu lernen. Danke für die Hilfe!
Meine Lösung für die Hausaufgabe besteht darin, alles im Frequenzbereich zu erledigen. Ich habe mit dem Professor gesprochen. Ich machte die Aufgabe schwieriger als nötig. Sie wollte, dass wir Rauschen hinzufügen und dann den Inverse Filter, den Wiener Filter und den Constrained Least Squares Filter ausprobieren. Der Punkt der Übung war zu sehen, wie die Filter mit Rauschen umgehen.