Sind Entfaltungsfilter besser als unscharfe Masken, um unscharfe Fotos zu korrigieren?

Was ist die beste Methode zur Verbesserung der Bildqualität, wenn ein Foto unscharf ist?

Ich verwende jetzt eine unscharfe Maske, suche aber nach neuen Methoden. Vielleicht gibt es eine, die bessere Ergebnisse liefert als die unscharfe Maske. Ich habe von Dekonvolutionsfiltern gehört, aber ich habe sie nicht in der Fotografie verwendet.

Antworten (2)

Die Dekonvolution kann Ihnen im Prinzip ermöglichen, die Unschärfe umzukehren, aber dies funktioniert am besten, wenn Sie Bilder mit geringem Rauschen haben und Sie die sogenannte Punktspreizfunktion genau extrahieren können. Ihre Kameraeinstellungen haben eine Unschärfe verursacht, da ein Punkt in der Szene nicht nur ein Pixel, sondern eine Gruppe von Pixeln betrifft. Der Verlauf der Grauwerte wird als Punktbildfunktion bezeichnet. Angesichts der Punktverteilungsfunktion ist das Problem der Umkehrung der Unschärfe mathematisch gut definiert, aber es gibt keine eindeutige Lösung, wenn dem Bild Rauschen hinzugefügt wird.

Es gibt viele Algorithmen, mit denen Sie das wahrscheinlichste Bild rekonstruieren können. Ich verwende das kostenlose ImageJ- Programm mit dem Parallel Iterative Deconvolution- Plugin und dem DeconvolutionLab- Plugin.

Wenn diese Programme installiert sind, müssen Sie die Punktverteilungsfunktion als Bilddatei haben. Sie müssen die gesamte Arbeit in einem linearen Farbraum erledigen und alle Farbkanäle in separate Bilddateien zerlegen.

Aber all das ist ziemlich einfache Routinearbeit, das Erhalten der Punktverteilungsfunktion ist der nicht-triviale Teil, der die meiste Arbeit erfordert. Wenn Ihr Bild zufällig etwas enthält, das ein punktähnliches Objekt sein sollte (z. B. einen Stern), dann können Sie dieses Objekt als Ihre Punktverteilungsfunktion verwenden. Aber nehme an, dass dies nicht der Fall ist. Dann ist das Beste, was Sie tun können, nach kontrastreichen Kanten in Ihrem Bild zu suchen, die Ihrer Meinung nach ein abrupter Übergang sein sollten, der allein aufgrund der Unschärfe über mehrere Pixel verschmiert ist. Wenn es mehrere solche Kanten gibt, die sich in verschiedene Richtungen bewegen, dann wird die Punktverteilungsfunktion wohldefiniert. Aber wenn wir die einfache Annahme einer isotropen Punktverteilungsfunktion machen, dann reicht eine einzige Kante aus und die Mathematik vereinfacht sich erheblich.

Angenommen, Sie nehmen Ihr Bild, wandeln es in einen linearen Farbraum um und zoomen in eine scharfe Kante hinein. Durch ausreichendes Zoomen verschwindet die Krümmung fast. Wenn Sie eine Kante auswählen, an der sich die Helligkeit auf beiden Seiten nicht schnell ändert, tendiert die Helligkeit auf beiden Seiten beim Heranzoomen in die Nähe der Kante zu einem konstanten Wert, der von jeder Kante entfernt ist. Aber es gibt jetzt statistische Schwankungen aufgrund des Rauschens.

Was Sie also haben, ist eine Region, in der die durchschnittliche Helligkeit v1 in einiger Entfernung vom Rand ist, und in der anderen Region ist sie v2. In Randnähe findet ein allmählicher Übergang von v1 nach v2 statt, der im Fall einer isotropen Punktbildfunktion P(r), die nur vom Abstand r zum zentralen Pixel abhängt, gegeben ist durch:

v(d) = v1 + 2(v2-v1) Integral von d bis unendlich von arccos(d/r) r P(r) dr

wobei d der Abstand von der Kante in Region 1 ist, wobei wir d als negativ annehmen, um anzuzeigen, dass wir uns in Region 2 bewegen.

Dann ist es bequem, das mathematische Makro von ImageJ zu verwenden, um die Grauwerte in g(d) umzuwandeln, definiert als:

g(d) = (v(d) -v1)/(2*(v2-v1))

Wenn also v1 = 100 und v2 = 30 ist, schreiben Sie das Makro einfach als

v1 = 100; v2 = 30; v = (v - v1)/(2*(v2 - v1))

Dann kann die Beziehung zwischen g(d) und der Point-Spread-Funktion ausgedrückt werden als:

g'(d) = -Integral von d bis unendlich von r/sqrt(r^2-d^2)p(r) dr

Diese Integralgleichung für P(r) lässt sich umkehren zu:

P(r) = 2/pi Integral von r bis unendlich von g''(s)/sqrt(s^2-r^2)ds

Was umgeschrieben werden kann, indem s = r cosh(t) ersetzt wird als:

P(r) = 2/pi Integral von 0 bis unendlich von g''[r cosh(t)]dt

Was ich bequem finde, ist, das Bild, das die Funktion g anzeigt, umzuwandeln, indem ich es wie folgt schreibe:

g(d) = 1/2/[1+exp(f(x)]

Also setze ich f = log[1/(2*g) - 1]

mit dem mathematischen Makro ImageJ.

Dann wird ein linearer Fit der Form f(d) = pd schon ganz gut funktionieren, da dieser bereits den Wert bei Null und das asymptotische Verhalten bei plus und minus unendlich korrekt erfasst. Dies ist jedoch der erste Schritt, um zu besseren Annäherungen zu gelangen. Das Problem ist dann, wie man eine solche Anpassung macht, vorausgesetzt, wir haben ein Bild, das f als Grauwerte anzeigt, und Sie haben eine Kante, die ungefähr gemäß einer geraden Linie über das Bild verläuft.

Sie möchten nicht viel Zeit damit verschwenden, die Entfernungen zu der Linie zu messen, die von vornherein nicht sehr scharf definiert ist. Stattdessen nehmen Sie eine lineare Anpassung in Bezug auf die Bildkoordinaten x und y vor:

f(x,y) = a + bx + cy

Die Berechnung von a, b und c erfordert, dass Sie die Summen von berechnen f, x, y, f*x, f*y, x^2, y^2 and x*y, was Sie mit den Messfunktionen von ImageJ leicht tun können. Daraus folgt dann die Anpassung von f als Funktion eines Abstandes d an die Gerade der Form f(d) = pd, es gilt p = sqrt(b^2 + c^2). Außerdem können Sie ein Bild erstellen, dessen Grauwerte den Abstand zur Linie haben, was einfach f/p ist. Dieses "Entfernungskartenbild" ist nützlich, um das Formular einer höheren Ordnung anzupassenf(d) = p1*d + p3*d^3 + p5*d^5+...

Nachdem Sie eine genaue funktionale Darstellung von f(d) erhalten haben, ist es einfach, das Integral numerisch auszuwerten, das die Punktstreufunktion ergibt.

Die beste Methode, um unscharfe Bilder zu korrigieren, besteht darin, zurückzugehen und das Bild erneut aufzunehmen, wobei Sie sorgfältiger auf die richtige Fokussierung achten. Sie können Informationen, die nie erfasst wurden, nicht genau reproduzieren. Durch Schärfen und Dekonvolution entstehen Artefakte, die versuchen, Informationen nachzuahmen, die nicht aufgezeichnet wurden. Je unscharfer das Originalbild ist und je breiter der Bereich ist, den Sie versuchen, in einen einzigen Punkt zu dekonvolutieren, desto geringer ist die statistische Wahrscheinlichkeit, dass die durch Dekonvolution oder Schärfen erzeugten Artefakte dem ähneln, was zu Beginn unscharf war mit.