Im Allgemeinen handelt es sich hierbei um ein Bildsegmentierungsproblem ( http://en.wikipedia.org/wiki/Image_segmentation ), bei dem Sie versuchen würden, die fokussierten auf die nicht fokussierten Bereiche des Bildes zu isolieren.
Optische Linsen entsprechen ohnehin Tiefpassfiltern, und die Wirkung eines Tiefpassfilters auf ein Signal besteht darin, es durch Begrenzung des höheren Frequenzgehalts auszugleichen.
Bei der digitalen Bildverarbeitung entsprechen niedrige Frequenzen großen Objekten (allgemeine Form) und höhere Frequenzen kleinen Objekten (Details).
Um den fokussierten Bereich zu isolieren, könnten Sie daher nach Bereichen suchen, die eine höhere Standardabweichung aufweisen als die unscharfen Bereiche, die aufgrund des Glättungsvorgangs der unscharfen Linse eine geringere Standardabweichung aufweisen würden.
M×N
M×N
Im Fall des Bildes in Ihrem Beitrag weist das Histogramm wahrscheinlich zwei Modi auf. Einer entspricht relativ hohen Werten der Standardabweichung (fokussierter Bereich) und einer entspricht relativ niedrigen Werten der Standardabweichung (unscharfe Bereiche).
Sie können dann einen Schwellenwert positionieren, beispielsweise nur zwischen den beiden Modi, um ein Kriterium zwischen Ihren fokussierten und nicht fokussierten Regionen festzulegen, und dann alle "Patches" (oder MxN-Fensterbereiche) auswählen, deren Standardabweichung höher als Ihr Schwellenwert ist. (Weitere Informationen finden Sie unter: http://en.wikipedia.org/wiki/Thresholding_%28image_processing%29 )
Dadurch werden die fokussierten Teile des Bildes für Sie isoliert.
Hoffe das hilft.
Hier ist ein einfacher Ansatz, der keine Schiebefensteranalyse beinhaltet.
Konvertieren Sie Ihr Bild in Graustufen (dies ist nicht erforderlich, aber ich gehe davon aus, dass Sie der Übersichtlichkeit halber nur einen Kanal haben).
Berechnen Sie den Gradienten in beide Richtungen
Berechnen Sie die Größe (oder quadrieren Sie einfach den Gradienten)
Summiere beide Verlaufsbilder in beide Richtungen
Wie bereits gesagt, hat der fokussierte Teil des Bildes höhere Frequenzen als der nicht fokussierte Bereich. Aus der Summierung ergeben sich zwei Projektionen, bei denen es in dem Teil, in dem sich das fokussierte Objekt entlang dieser Richtung befindet, große Abweichungen (höhere Werte) gibt. Sie können jetzt Folgendes tun:
Bestimmen Sie den Start- und Endpunkt dieser höheren Werte. Sie können einen einfachen Schwellenwert verwenden (z. B. 0,7 * maximaler Wert) oder die Profile glätten, die zweite Ableitung nehmen und dort nach den höchsten Werten suchen.
Die Start / Stopp-Positionen aus dem vorherigen Schritt geben Ihnen die Pixelpositionen in beiden Richtungen an, an denen Sie Ihr Rechteck für die Anzeige der Schärfe platzieren möchten.
quelle