Gibt es ein Programm, das die „echte“ Auflösung eines Bildes analysieren könnte?

8

Nehmen wir Bild A: 2560 * 1920 Pixel Bild in perfektem Fokus. Scharf wie ein Rasiermesser. Das sind 5 Mpix.

Nehmen wir Bild B: Bild A mit der Größe 5120 * 3840. Es ist jetzt eine 20-Mpix-Datei, aber es gibt keine neuen Daten im Bild. Mit gesundem Menschenverstand handelt es sich also immer noch nur um eine 5-Mpix-Datei, die nur "aufgebläht" ist.

Theoretisch sollte es möglich sein, die Abmessungen von Bild B schrittweise zu reduzieren, bis eine angemessene Schärfe festgestellt wird (wodurch es so nahe wie möglich an Bild A gebracht wird, ohne sie an dieser Stelle tatsächlich zu vergleichen), und so die "wahre" Megapixelzahl des Bildes abzuleiten: die Größe, unterhalb derer Bilder beginnen, ihre Details zu verlieren.

Dieser Wert kann leicht verwendet werden, um die Nützlichkeit eines Fotos zu bestimmen. Wenn ich es leicht unscharf aufnehme, kann ich es trotzdem in einer kleineren Größe drucken, und niemand wird es bemerken. Oder es könnte bei der Beurteilung der Objektiv- oder Sensorqualität hilfreich sein. Wenn eine 24-Mpix-Kamera kein Bild mit mehr als "echten" 8-Mpix aufnehmen kann, stimmt etwas nicht.

Auf den Punkt gebracht: Gibt es ein Softwareprogramm, das genau das tut? Oder bin ich dazu verdammt, meine eigenen zu schreiben?


Von einem Kommentar des OP zu einer der Antworten:

Ich muss messen, wie viele Details mein Scanner für positive Transparenz wirklich erhält, bevor ich eine Sammlung von etwa 2000 alten Dias scanne und als digitalisiert betrachte. Wenn ich es auf optische 19200 dpi oder so einstelle und es weiterhin Bilder mit Detailverlusten erzeugt, die beispielsweise einer 5-Mpix-Kamera entsprechen, weiß ich, dass es schlecht ist.

Dies ist das eigentliche Problem, das die Frage lösen möchte. Alles oben Genannte handelt von einer wahrgenommenen Lösung für dieses Grundproblem.

Sinus Mackowaty
quelle
Ich mag die Frage. Aus Sicht der Fotografen stimme ich der Antwort von StephenG zu, aber aus Sicht eines IT-Ingenieurs bin ich anderer Meinung. Aber dann könnte die Frage besser bei DSP SE gestellt werden: dsp.stackexchange.com
pLumo
Siehe auch
pLumo
Von einem Kommentar des OP zu einer der Antworten: "Ich muss messen, wie viele Details mein positiver Transparenzscanner wirklich erhält, bevor ich eine Sammlung von etwa 2000 alten Dias scanne und als digitalisiert betrachte. Wenn ich sie auf optisch 19200 setze dpi oder so, und es werden immer wieder Bilder mit verlorenen Details erzeugt, was beispielsweise einer 5-Mpix-Kamera entspricht. Dann weiß ich, dass es schlecht ist. " Dies ist das wahre Problem, das hier gelöst werden muss. Die Art und Weise, wie diese Frage gestellt wird, ist ein X → Y-Problem. Das heißt, das OP fragt, wie eine wahrgenommene Lösung erreicht werden kann, anstatt zu fragen, wie das Grundproblem gelöst werden kann.
Michael C

Antworten:

4

Ein Ansatz könnte darin bestehen, die zweidimensionale Fourier-Transformation des Bildes zu berechnen und zu versuchen, die räumliche Frequenz zu bestimmen, über der die Transformation (oder beispielsweise ihre Leistung) zu Rauschen wird, dh unkorreliert und klein. Noch nie so etwas versucht, aber es muss in irgendeiner Weise mit einer strengen Definition der Auflösung verbunden sein?

martin l smith
quelle
Einverstanden; Entweder eine 2D-FFT oder eine diskrete 2D-Cosinustransformation (DCT) wäre der einfachste Ansatz zur Berechnung der effektiven Auflösung eines Bildes. Damit konnten Sie erkennen, wann die Auflösung begrenzt wurde, unabhängig davon, ob sie durch die Qualität des Glases, falsche Fokussierung, Beugungsbegrenzung, starke Bildkomprimierung usw. verursacht wurde
dgatwood
Das habe ich auch gedacht, ich dachte nur, jemand könnte schon so ein Tool gebaut haben. Dies sollte die Frage "nutzt dieses Bild seine Auflösung voll aus" effektiv beantworten und nach einiger Kalibrierung sollte es mit anderen Größen vergleichbar sein. Ich werde mit diesem gehen. Vielen Dank!
Sinus Mackowaty
5

Theoretisch sollte es möglich sein, die Abmessungen von Bild B schrittweise zu reduzieren, bis eine angemessene Schärfe festgestellt wird (wodurch es so nahe wie möglich an Bild A gebracht wird, ohne sie an dieser Stelle tatsächlich zu vergleichen), und so die "wahre" Megapixelzahl des Bildes abzuleiten: die Größe, unterhalb derer Bilder beginnen, ihre Details zu verlieren.

Sie gehen zunächst davon aus , dass Bild B keine weiteren Details enthält. Aber auch eine völlig flache Region hat Details - es ist nur so, dass sie flach ist.

Ein Mangel an Details oder Änderungen bedeutet keinen Mangel an gültigen Bilddaten oder Auflösung.

Dieser Wert kann leicht verwendet werden, um die Nützlichkeit eines Fotos zu bestimmen. Wenn ich es leicht unscharf aufnehme, kann ich es trotzdem in einer kleineren Größe drucken, und niemand wird es bemerken.

Das wird nicht so funktionieren, wie Sie denken.

Meiner Erfahrung nach interessieren sich Menschen nicht so sehr für Details in einem Bild wie für emotionale und / oder informative Inhalte. Was das Bild sie fühlen lässt oder was das Bild ihnen sagt oder beides.

Wenn ein Bild nicht außergewöhnlich schlecht fokussiert ist, ist es für einen bestimmten Zweck im Allgemeinen in Ordnung. Nach meiner Erfahrung sind Fotografen und Medienredakteure die einzigen Menschen, denen der perfekte Fokus am Herzen liegt (und die Redakteure werden heutzutage weniger pingelig).

Ich hatte einmal ein (technisch) schlechtes Foto von der Tochter eines Verwandten, das Bewegungsunschärfe, Verwacklungen, schlechten Fokus und miese Beleuchtung aufwies.

Es ist seit über einem Jahrzehnt an ihrer Fotowand befestigt. Kein Protest von mir oder Angebot, es erneut zu drehen, hat jemals funktioniert, übrigens. Sie mögen das Foto.

Der Wert eines Bildes wird nicht durch seine Schärfe oder aufgelöste Details definiert, außer in ganz bestimmten kommerziellen Einstellungen, und selbst dort hat er keine Priorität. Kein Nachrichtenredakteur wird sich darum kümmern, wie wenig Details es wirklich gibt, z. B. in dieser "exklusiven" Aufnahme eines Prominenten im Urlaub oder eines Opfers der jüngsten Empörung.

Oder es könnte bei der Beurteilung der Objektiv- oder Sensorqualität helfen -

Sie haben Auflösungsdiagramme dafür. Dies sind gut definierte feste Muster, die für die Computeranalyse geeignet sind. Schauen Sie sich irgendwann die Website von DxOMark an.

Das Testen der Auflösung gegen alles andere als ein genau definiertes und genau bekanntes Ziel ist sinnlos.

Wenn eine 24-Mpix-Kamera kein Bild mit mehr als "echten" 8-Mpix aufnehmen kann, stimmt etwas nicht.

Nur weil ein Sensor nicht mehr Details erfasst, heißt das nicht, dass außer Ihren Erwartungen etwas nicht stimmt.

Das erfasste Detail hängt von vielen Faktoren ab. Zuerst die Existenz von Details. Dann die Aufnahmebedingungen, die Blende und die optischen Eigenschaften des Objektivs. Die Beleuchtung, die Verschlusszeit, ISO und Rauschcharakteristik. Beugungsbeschränkungen.

Die Realität ist, dass die Pixelanzahl in der Praxis sehr viel weniger damit zu tun hat, wie viele Details Sie wirklich erhalten, wenn Sie so viele andere Faktoren aufnehmen, die das Mögliche oder Praktische einschränken.

StephenG
quelle
3
Obwohl viele Ihrer Punkte gültig sind, reagieren sie nur auf bestimmte Fälle der von mir erwähnten Verwendungsmöglichkeiten. Einfache, merkwürdige Farbverläufe sind mit den von mir vorgestellten Methoden offensichtlich nicht messbar, aber sie sind ein Randfall. Auflösungsdiagramme helfen bei beschädigten oder falsch kalibrierten Objektiven nicht. DxOMarks "Wahrnehmungs-Megapixel" ist weitgehend umstritten. Sicher, leicht unscharfe Bilder sind manchmal genauso nützlich, aber was ist mit WIRKLICH verschwommenen? Sie können in Miniaturansichten oder andere Miniaturen umgewandelt werden, aber das wird normalerweise "mit dem Auge" bestimmt, während es bis zu einem gewissen Grad berechnet werden könnte.
Sinus Mackowaty
Wenn Sie dies besonders tun möchten, führen Sie eine Websuche nach "Maß für die Bildschärfe" durch, die Ihnen einige Links zu Forschungsarbeiten zu diesem Thema gibt. Wenn Sie nicht mathematisch veranlagt sind, würde ich vorschlagen, dies zu überspringen. Sie können Open Source-Code dafür finden, aber mir sind keine bekannt.
StephenG
2
Und um dem Argument "flache Oberflächen" noch einen weiteren Punkt hinzuzufügen: Genau das meine ich als eines von Beispielen. Ein Foto einer ebenen Fläche ohne viele Kanten und Details könnte technisch mit einer viel schlechteren Kamera aufgenommen werden, ohne dass die Qualität verloren geht. In einem bestimmten praktischen Fall muss ich messen, wie viele Details mein positiver Transparenzscanner tatsächlich erhält, bevor ich eine Sammlung von etwa 2000 alten Dias scanne und als digitalisiert betrachte. Wenn ich es auf optische 19200 dpi oder so einstelle und es weiterhin Bilder mit Detailverlusten erzeugt, die beispielsweise einer 5-Mpix-Kamera entsprechen, weiß ich, dass es schlecht ist.
Sinus Mackowaty
1
Wenn ich herausfinde, dass der Scanner, den ich habe, Mist ist und ich es besser machen könnte, wenn ich einen anderen kaufe, werde ich ziemlich viel Zeit damit verschwenden, die Automatisierungsmechanik aufzubauen, was auch immer sie ist. Ich würde mich lieber nicht für immer verfluchen, weil ich es das einzige Mal
vermasselt
1
"(und die Redakteure werden heutzutage weniger pingelig)." Nur wenn sie nicht für das Bild bezahlen.
Michael C
1

Nach einigem Experimentieren habe ich eine Reihe von verkleinerten Bildern erstellt, zurückskaliert und mit dem Original verglichen. Wenn es einen signifikanten maximalen Unterschied in den Pixelwerten gab, gilt die Qualität als verloren. Wenn es wenig Verlust gibt, bedeutet dies, dass das Originalfoto anfangs nicht großartig war. Ich werde später ein PHP-Snippet veröffentlichen.

Leider werden Bilder, die direktional unscharf sind oder unscharf sind, aber einige scharfe Artefakte aus der Verarbeitung aufweisen, als scharf beurteilt - und ich glaube, es gibt keinen Weg, dies zu umgehen.

Sinus Mackowaty
quelle
Welche Art von Resampling haben Sie beim Upscaling durchgeführt? Nächster Nachbar, lineare Interpolation, quadratische Interpolation, Gauß, Dodgson oder etwas anderes?
Michael
@ Michael: IIRC, ich habe der Einfachheit halber linear verwendet.
Sinus Mackowaty