Forum: PC-Programmierung Bildschärfe messen


von Marvin N. (marvin_n)


Lesenswert?

Hallo,

ich beschäftige mich gerade damit die Schärfe von Bilder relativ 
zueinander zu messen um damit einen Autofokus zu bauen.

Welche (Rechen)-Methoden bieten sich dafür an? Die Bilder sind leider 
ziemlich verrauscht und die Objekte bewegen sich leicht zwischen den 
einzelnen Aufnahmen.

Versuche bisher:
-Kantenfilter(Prewitt), dann Schwelle anwenden und die Fläche der 
"hellen" Pixel bestimmen
-FFT, tiefe Frequenzen abschwächen, dann wieder Schwelle und Fläche 
bestimmen

Die Resultate waren eher enttäuschend.

weitere Ideen:
-Histogramm?

Einige Recherchen ergaben, dass das so die verbreiteten Methoden sind. 
Gibt es noch weitere brauchbare Verfahren, oder "muss" es mit den schon 
genannten funktionieren?

Gruß
Marvin

von Dennis S. (eltio)


Lesenswert?

Ist vielleicht bei OpenCV noch was dabei?

Gruß
Dennis

Edit: Vielleicht hilft das weiter
http://stackoverflow.com/questions/7765810/is-there-a-way-to-detect-if-an-image-is-blurry

: Bearbeitet durch User
von Vlad T. (vlad_tepesch)


Lesenswert?

Marvin N. schrieb:
> Versuche bisher:
> -Kantenfilter(Prewitt), dann Schwelle anwenden und die Fläche der
> "hellen" Pixel bestimmen
> -FFT, tiefe Frequenzen abschwächen, dann wieder Schwelle und Fläche
> bestimmen

für dem Kantenfilter vielleicht mit einem Gauß das Rauschen reduzieren.
Klar schwächt das die Kanten auch. Aber in deinem weniger scharfen Bild 
werden sie noch mehr geschwächt. Statt Pixel zählen, vielleicht einfach 
die Absolutwerte der Kanten addieren, möglicherweise auch ohne 
Schwellenwert.

Das wären so meine ersten Bauchgefühle.
Zur Rauschunterdrückung eventuell auch mal schauen, wie selektive 
Weichzeichner funktionieren, wie man sie aus Bildbearbeiungsprogrammen 
kennt.
Also erst einen Selektiven Gauß, der in etwa auf dein Rauschlevel 
eingestellt wird und dannach den Kantenfilter.

von Durchschauer (Gast)


Lesenswert?

Auswahl des Bildelementes an dem die Schärfebestimmung ausgeführt wird, 
ist entscheidend. Möglichst eine Kante die Parallel zur 
Photozellenmatrix steht bspw parallel zum oberen oder seitlichen 
Bildrand. wobei das aber abhängig ist wie die Pixel auf dem Sensor 
angeordnet sind. manchmal ist eine 45/135° Diagonale besser.


Farbauswahl ist (bei farbsensoren mit Bayer-Matrix) auch wichtig, die 
grünen Anteile werden genau auf den Sensor gebündelt 
(https://de.wikipedia.org/wiki/Chromatische_Aberration). Ferner 
verhageln Farbsäume durch die Bayer matrix die Scharfstellung, da es 
mehr grüne als rote/blaue Pixel gibt sollte grün auch hierbei die 
bessere Wahl sein. https://de.wikipedia.org/wiki/Bayer-Sensor

Gruß,

von Georg (Gast)


Lesenswert?

Marvin N. schrieb:
> Die Resultate waren eher enttäuschend.

Das ist nicht überraschend. Bestimmung der höchsten Frequenzen oder der 
Entropie ist alles andere als sicher, ob scharfes Bild oder verrauschtes 
Bild ist oft nicht zu unterscheiden. Es gibt Musterbilder, eines scharf, 
auf dem anderen ist praktisch nichts zu erkennen, aber die Entropie ist 
die gleiche.

Kann man sich auch leicht vorstellen: für einen Algorithmus ist nicht zu 
unterscheiden, ob es sich um eine knackscharf abgebildete Wiese handelt 
oder einfach eine grüne Fläche mit starkem Farbrauschen. Da sind oft 
selbst Auge und Gehirn überfordert.

Es wird manchmal geraten, die Bilder zu komprimieren, das, das die 
grösste Datei ergibt, ist das schärfste. Aber wie oben erklärt, das kann 
so sein, muss aber nicht.

Georg

von Tom E. (Gast)


Lesenswert?

Marvin N. schrieb:
> ich beschäftige mich gerade damit die Schärfe von Bilder relativ
> zueinander zu messen um damit einen Autofokus zu bauen.

Die Schärfe von Bilder kannst du nicht messen. Es hängt vom Bildinhalt 
ab.

Stelle dir ein Bild vom blauen Himmel oder einer grauen Wand vor. Egal 
wie scharf oder unscharf der Autofokus die Optik verrissen hat - das 
sieht immer gleich aus.

von Rolf M. (rmagnus)


Lesenswert?

Tom E. schrieb:
> Marvin N. schrieb:
>> ich beschäftige mich gerade damit die Schärfe von Bilder relativ
>> zueinander zu messen um damit einen Autofokus zu bauen.
>
> Die Schärfe von Bilder kannst du nicht messen.

Der Autofokus in gängigen Kameras basiert also auf Magie?

> Stelle dir ein Bild vom blauen Himmel oder einer grauen Wand vor. Egal
> wie scharf oder unscharf der Autofokus die Optik verrissen hat - das
> sieht immer gleich aus.

Und weil es bei diesen nutzlosen Spezialfällen nicht geht, läßt man's 
gleich ganz bleiben?

von Compressor (Gast)


Lesenswert?

Gab es nicht mal den Ansatz über den Kompressionsgrad nacheinander 
aufgenommener und verlustlos gepackter Bilder resp. deren 
Größenvergleich. Finde leider den Link nicht.

von Georg (Gast)


Lesenswert?

Rolf M. schrieb:
> Der Autofokus in gängigen Kameras basiert also auf Magie?

Ja, genau - z.B. weil in bestimmten Autofocusfeldern gemessen wird und 
nicht das ganze Bild. Und dann gilt das Prinzip Hoffnung, dass auf ein 
paar der vielen Felder wenigstens eine auswertbare Kante fällt.

Georg

von Vlad T. (vlad_tepesch)


Lesenswert?

Georg schrieb:
> Ja, genau - z.B. weil in bestimmten Autofocusfeldern gemessen wird und
> nicht das ganze Bild. Und dann gilt das Prinzip Hoffnung, dass auf ein
> paar der vielen Felder wenigstens eine auswertbare Kante fällt.
>
> Georg

das klingt für mich weniger nach Magie, sondern in meinen Augen nach 
einer kleveren Heuristik, die in dein meisten Fällen auch sehr gut 
funktioniert.

von ?!? (Gast)


Lesenswert?

Und dann muß man noch unterscheiden zwischen der Kontrastmessung und der 
Phasenmessung. Einige der neueren Kameras haben beide Verfahren 
implementiert, vor allem bei DSLR. Je nach Bildinhalt ist entweder die 
eine Methode besser oder die andere. Aber eine DEFINITIVE MESSUNG gibts 
nicht.
Hat aber trotzdem nichts mit Magie zu tun :-)

von Tom E. (Gast)


Lesenswert?

Rolf M. schrieb:
> Der Autofokus in gängigen Kameras basiert also auf Magie?

Nein - er funktioniert einfach bei manchen Bildinhalten nicht. 
Prinzipiell lebt der Autofokus von Bildkontrasten im Bereich hoher 
Ortsfrequenzen. Deren Amplitude versucht er zu maximieren.

> Und weil es bei diesen nutzlosen Spezialfällen nicht geht, läßt man's
> gleich ganz bleiben?

Zumindest tut man gut daran, ihn abzuschalten, weil die Mimik sonst 
einfach Mist baut, wenn keins der Autofokusfelder ein passendes Objekt 
enthält. Guck dir mal manchen Video von fliegenden Objekten an, z.B. 
Raketenstarts. Da verdreht so ein Ding die Schärfe gerne hoffnungslos, 
wenn das Objekt mal kurz nicht an der richtigen Stelle im Bildfeld ist 
und braucht dann sekundenlang, um den Fokuspunkt wieder an die richtige 
Stelle zu ziehen. Anstatt einfach zuzugeben "ich bin hoffnungslos 
überfordert" und die Finger von der Einstellung der Optik zu lassen, 
wird erstmal ziellos rumgekurbelt.

von Ernst O. (ernstj)


Lesenswert?

Kennst du VTK.ORG?
ich bin mir nicht sicher ob das hier weiter hilft, wer weiss...

von Georg (Gast)


Lesenswert?

Tom E. schrieb:
> Deren Amplitude versucht er zu maximieren.

Eben, das ist was ganz anderes, als Schärfe eines Bildes zu messen. Es 
handelt sich ja um ein und dasselbe Bild bzw. Objekt, für das ein 
relatives Optimum gesucht wird (allerdings nicht unbedingt gefunden). 
Für einen Vergleich verschiedener Bilder ist das nicht geeignet und auch 
nicht als ein hypothetisches absolutes Mass für die Bildschärfe.

Georg

von ?!? (Gast)


Lesenswert?

Georg schrieb:
> Tom E. schrieb:
>> Deren Amplitude versucht er zu maximieren.
>
> Eben, das ist was ganz anderes, als Schärfe eines Bildes zu messen. Es
> handelt sich ja um ein und dasselbe Bild bzw. Objekt, für das ein
> relatives Optimum gesucht wird (allerdings nicht unbedingt gefunden).
> Für einen Vergleich verschiedener Bilder ist das nicht geeignet und auch
> nicht als ein hypothetisches absolutes Mass für die Bildschärfe.
>
> Georg

Er meinte die Amplitude der Kontraste, also anders ausgedrückt "den 
Kontrast maximieren".

von Walter T. (nicolas)


Lesenswert?

Tom E. schrieb:
> Da verdreht so ein Ding die Schärfe gerne hoffnungslos,
> wenn das Objekt mal kurz nicht an der richtigen Stelle im Bildfeld ist
> und braucht dann sekundenlang, um den Fokuspunkt wieder an die richtige
> Stelle zu ziehen. Anstatt einfach zuzugeben "ich bin hoffnungslos
> überfordert" und die Finger von der Einstellung der Optik zu lassen,
> wird erstmal ziellos rumgekurbelt.

Wobei das von der Kamera abhängt. Bei meiner kann ich genau das 
ausschalten. (Ich wünschte manchmal, bei Menschen ginge das auch: "wenn 
Du nicht weiß wie, laß es und probiert erst gar nicht herum!")

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Tom E. schrieb:
> Zumindest tut man gut daran, ihn abzuschalten, weil die Mimik sonst
> einfach Mist baut, wenn keins der Autofokusfelder ein passendes Objekt
> enthält. Guck dir mal manchen Video von fliegenden Objekten an, z.B.
> Raketenstarts. Da verdreht so ein Ding die Schärfe gerne hoffnungslos,
> wenn das Objekt mal kurz nicht an der richtigen Stelle im Bildfeld ist
> und braucht dann sekundenlang, um den Fokuspunkt wieder an die richtige
> Stelle zu ziehen. Anstatt einfach zuzugeben "ich bin hoffnungslos
> überfordert" und die Finger von der Einstellung der Optik zu lassen,
> wird erstmal ziellos rumgekurbelt.

Wie jedes Werkzeug ist auch der Autofokus nicht pauschal für jede 
bliebige Situation perfekt geeignet. Wenn jemand den in einer Situation 
benutzt, für die er nicht geeignet ist, liegt das nicht am Autofokus. 
Ich erkläre doch auch nicht alle Bügeleisen der Welt für nutzlos, nur 
weil das immer so klebt, wenn ich meine Plastiktüten bügle.

von Xfsdfsdfs Y. (Firma: zffsdfsf) (0xbeaf)


Lesenswert?

probiers mal mit einer Bildpyramide (ähnlich 2d Wavelets), damit trennst 
du die Frequenzen. Dann je Pyramidenebene die Pixelsumme bilden und 
normieren.
Und dann würde ich das Bild als scharf bezeichnen, welches Richtung 
höherer Frequenzen größere Werte besitzt.
Eventuell tritt das Rauschen ja nur in der Pyramidenebene höchster 
Frequenz auf - dann diese eben weglassen.

von Durchschauer (Gast)


Lesenswert?

also wenn man das so liest ...

Früher gab es mal Kameras die haben mit Ultraschall den Objektabstand 
gemessen und dementsprechend die Brennweite reguliert (scharf gestellt).

Genau darum geht es heute auch noch: Die Brennweite so einzustellen das 
das wichtige Objekt scharf eingestellt wird.

Was jetzt aber dem Betrachter "wichtig" ist, kann keine Automatik 
abschätzen.

Also muss man der Automatik sagen welcher Bildausschnitt wichtig ist und 
ggf. eine Erst-Fokussierung per Hand vornehmen. Dann braucht die 
Automatik nur Entfernungsänderungen kompensieren und das kriegt sie hin. 
Besser natürlich, man stattet die Kamera mit einem echten 
Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).

Alles anders bedarf "Magie" die es ja bekanntlich nicht gibt und die man 
auch mit Super/Duper Transfomationen nicht herbei rechnen kann.

MfG,

von asdf (Gast)


Lesenswert?

Durchschauer schrieb:
> Besser natürlich, man stattet die Kamera mit einem echten
> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).

Was heisst "besser"? Ds ist so ziemlich die schlechteste Möglichkeit, 
weil man den Ultraschall niemals so fokussieren kann, dass der 
gewünschte Bildausschnitt scharf wird. Beispiel: Durch einen Baum 
hindurch die Landschaft fotografieren. Oder durch eine Glasscheibe...

Besser ist es auf jeden Fall, das Bild selber zu analysieren und dort 
dann bestimmte Punkte festzulegen, wie es ja auch gemacht wird.

Daß eine Automatik niemals 100%ig funktionieren kann, ist logisch. Zum 
Beispiel, wenn man Modellflugzeuge fotografieren will. Dafür kann man 
die Automatik aber auch abschalten und manuell fokussieren. Diese 
Entscheidung kann einem keine Automatik dieser Welt abnehmen.

Aber Ultraschall halte ich für die schlechteste Lösung überhaupt.

von Daniel A. (daniel-a)


Lesenswert?

Das nützt dem TO jetzt vermutlich wenig, aber wenn man immer den Besten 
Focus will solte man einfach auf alles "Focussieren": Mit einer 
Plenoptischen Kamera, die das nachträgliche Ändern des Fokus erlaubt.
https://de.wikipedia.org/wiki/Plenoptische_Kamera

von Durchschauer (Gast)


Lesenswert?

asdf schrieb:
> Durchschauer schrieb:
>> Besser natürlich, man stattet die Kamera mit einem echten
>> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).
>
> Was heisst "besser"? Ds ist so ziemlich die schlechteste Möglichkeit,
> weil man den Ultraschall niemals so fokussieren kann, dass der
> gewünschte Bildausschnitt scharf wird.

Doch man kann Ultraschall fokussieren bspw. Phased array, Richtmikrofone


> Beispiel: Durch einen Baum
> hindurch die Landschaft fotografieren.

Mit einen solchen Bildwunsch - Fokus auf unendlich bei Objekten im 
Vordergrund verarschtst du jeden Autofokus. Ein US-Sensor stellt die 
wenigstens die Kamera scharf wenn auch nicht auf das gewüsnchte Objekt.

> Oder durch eine Glasscheibe...

auch damit verarschst du jede Automatik, die regelt sich ja nach 
reflexion zwischen Glasscheibe und Hintergrund tot. Ein Ultraschalsensor 
stellt ruckzug auf die Glasscheibe scharf.

> Aber Ultraschall halte ich für die schlechteste Lösung überhaupt.

Nö, Ultraschall liefert eine eindeutig Entfernungsinformationen wo reine 
Bildanalyse hoffnungslos versagt. Beispiel unstrukturierte Tischplatte, 
da sucht der Bildprozessor nach Kontrast bis der Akku umfällt, während 
Ultraschall knall zack 1 meter 05 ermittelt.

Ultraschall liefert auf jeden fall eine eindeutige Entfernungsinfo zu 
den Objekten, Bildanalyse nicht weil ein 2D bild wie ein Normaler 
Kamerasensor sie liefert keine  Tiefeninformation enthält.

von 摄影师 (Gast)


Lesenswert?

Durchschauer schrieb:
> Besser natürlich, man stattet die Kamera mit einem echten
> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).

... und wer versucht schon, durch eine Fensterscheibe zu 
photographieren? Das gibt sowieso nur blöde Reflektionen vom 
automatischn Blitz ;-(

Das solltest du mal versuchen, zu durchschauen.

von asdf (Gast)


Lesenswert?

Durchschauer schrieb:
> Doch man kann Ultraschall fokussieren bspw. Phased array, Richtmikrofone

Ein phased Array in einer kleinen Kamera, evtl. sogar im Handy... :-)))
Überleg dir mal das Verhältnis von Wellenlänge zum notwendigen Abstand 
der Elemente eines Arrays.

Durchschauer schrieb:
> auch damit verarschst du jede Automatik, die regelt sich ja nach
> reflexion zwischen Glasscheibe und Hintergrund tot. Ein Ultraschalsensor
> stellt ruckzug auf die Glasscheibe scharf.

Nö, wenn du es am Bildinhalt festmachst, stellt er auf das scharf, was 
hinter der Scheibe ist. Wenn natürlich die Scheibe dreckig ist und der 
Hintergrund einfarbig, wird die Scheibe scharf. Aber im Normalfall wird 
der Hintergrund scharf, mit Ultraschall hingegen hast du überhaupt keine 
Chance, durch die Glasscheibe hindurch zu messen.

Durchschauer schrieb:
> Ultraschall liefert auf jeden fall eine eindeutige Entfernungsinfo zu
> den Objekten,

Da frage ich mich doch, warum alle Kamerafirmen so blöd sind und die 
Ultraschallmessung fallengelassen haben. Ich kenne keine einzige mehr, 
die mit Ultraschall misst.

von Durchschauer (Gast)


Lesenswert?

摄影师 schrieb:
> Durchschauer schrieb:
>> Besser natürlich, man stattet die Kamera mit einem echten
>> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).
>
> ... und wer versucht schon, durch eine Fensterscheibe zu
> photographieren? Das gibt sowieso nur blöde Reflektionen vom
> automatischn Blitz ;-(
>
> Das solltest du mal versuchen, zu durchschauen.

Schon mal an andere direkte Entfernungsmessverfahren als Ultraschall 
gedacht?
Bspw. https://de.wikipedia.org/wiki/TOF-Kamera

von asdf (Gast)


Lesenswert?

摄影师 schrieb:
> ... und wer versucht schon, durch eine Fensterscheibe zu
> photographieren? Das gibt sowieso nur blöde Reflektionen vom
> automatischn Blitz ;-(
>
> Das solltest du mal versuchen, zu durchschauen.

Wenn du von Leuten ausgehst, die nicht mit einer Kamera umgehen können, 
gebe ich dir recht. Aber den automatischen Blitz kann man auch 
abschalten, genau wie den Autofokus. Wer immer alles auf Automatik lässt 
und sich dann hinterher beschwert, daß die Hälfte der Bilder für die 
Tonne sind, dem ist einfach nicht zu helfen.

von michi42 (Gast)


Lesenswert?

Such mal nach "slanted edge" und MTF (Modulation Transfer Function)
sehr komfortabel mit ImageJ und diversen Plugins zu berechnen.

von Durchschauer (Gast)


Lesenswert?

asdf schrieb:
> Durchschauer schrieb:
>> Ultraschall liefert auf jeden fall eine eindeutige Entfernungsinfo zu
>> den Objekten,
>
> Da frage ich mich doch, warum alle Kamerafirmen so blöd sind und die
> Ultraschallmessung fallengelassen haben. Ich kenne keine einzige mehr,
> die mit Ultraschall misst.

Naja im blöden Consumerbereich bestimmt nicht selten der Kostendruck die 
Auswahl des verfahrenen und nicht allte technischen Möglichkeiten.
Und wenn kevin meier mal ein unscharfes katzenfote schiesst - was solls.
Wenn dagegen beim Augenarzt die Laseroptik beim Versuch eine scharfes 
Objekt in der trüben Linse zu finden unentschlossen ran und weg surrt - 
dann will sich auch Kebin nicht auf Bildanalyse verlasse.


In der automatisierungstechnik oder im OP-bereich misst man schon die 
Entfernung direkt oder sorgt verfahrentechnisch einen für einen festen 
optimalen Abstand.

von Rolf M. (rmagnus)


Lesenswert?

Durchschauer schrieb:
>> Da frage ich mich doch, warum alle Kamerafirmen so blöd sind und die
>> Ultraschallmessung fallengelassen haben. Ich kenne keine einzige mehr,
>> die mit Ultraschall misst.
>
> Naja im blöden Consumerbereich bestimmt nicht selten der Kostendruck die
> Auswahl des verfahrenen und nicht allte technischen Möglichkeiten.

Auch bei Spiegelreflex-Kameras im Profi-Bereich nutzt kein Mensch mehr 
Ultraschall. Da ist ein Phasen-Autofokus Standard.

von 摄影师 (Gast)


Lesenswert?

Durchschauer schrieb:
> 摄影师 schrieb:
>> Durchschauer schrieb:
>>> Besser natürlich, man stattet die Kamera mit einem echten
>>> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).
>>
...
> Schon mal an andere direkte Entfernungsmessverfahren als Ultraschall
> gedacht?

Wenn du "als" meinst, solltest du nicht "wie" schreiben.
http://www.wie-als.de/

von Durchschauer (Gast)


Lesenswert?

摄影师 schrieb:
> Durchschauer schrieb:
>> 摄影师 schrieb:
>>> Durchschauer schrieb:
>>>> Besser natürlich, man stattet die Kamera mit einem echten
>>>> Entfernungsmessverfahren aus (wie der eingangs erwähnte Ultraschall).
>>>
> ...
>> Schon mal an andere direkte Entfernungsmessverfahren als Ultraschall
>> gedacht?
>
> Wenn du "als" meinst, solltest du nicht "wie" schreiben.
> http://www.wie-als.de/

ich hab das schon so geschrieben wie ich es meine: Automatisch scharf 
stellen funktioniert schon besser (schneller, zuverlässiger) wenn man 
die Entfernung zum objekt kennt. Und ein Verfahren zur 
Entfernungsbestimmung unter vielen ist Ultraschall (andere: 
Infrarot,TOF, ...). Physikalisch ist ja Scharfstellen nix anderes als 
Anpassung des Linsensystems an dem Abstand zwischen Objekt und 
Sensor/Schirm.

Wenn heutige Kameras keine aktive Entfernungsmessung anbieten dann sind 
die Gründe wohl im bereich der kosten und der Nachfrage zu suchen. 
Autofocus ist Komfortfunktion, Profis schalten eh den Autofocus aus und 
stellen die Brennweite und Blende manuell ein.

Auch ist der passive-billig autofocus dank rauschunterdrückung und 
schnellen prozessoren besser geworden. Billig weil man den bereits 
vorhandenen Sensor und prozessor nutzt. Dennoch gibt es szenarien bei 
denen aktiver autofokus funktioniert aber passiver unmöglich ist (wenig 
licht, diffuse verhältnisse (Nebel). Und nicht zuletzt ist passiver 
immer einen Tick langsamer da er unscharfe Bilder auf Probe braucht um 
zu erkennen ob das Bild aus dem fokus läuft und man nachregeln muß. Hat 
man dagegen über ein paralles Messverfahren genaue Entfernungsdaten, 
schiesst man nie unscharfe Bilder. Aber wahrscheinlich ist das bei 
still-photography ein "Nice2have" und kein "must".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.