Wie misst man den Kontrast eines Bildes?

Ich studiere Fourier-Optik und Interferometrie und beabsichtige, den Kontrast eines Bildes mit Computersoftware zu bestimmen. Mein Lehrer für Experimentalphysik hat mir nicht gesagt, wie man das macht, und deshalb bitte ich Physiker, die diese Art von Analyse bereits durchgeführt haben, um etwas Aufmerksamkeit.

Der Kontrast kann ausgedrückt werden als:

K = ICH M A X ICH M ich N ICH M A X + ICH M ich N

Betrachten Sie das folgende Interferenzspektrum, wenn das Objekt ein Lötkolben ist:

Geben Sie hier die Bildbeschreibung ein

Ich denke, es sollte möglich sein, den Kontrast zu messen, wenn man die Farbe der Pixel und ihre Verteilung in einer bestimmten Region kennt.

Ich weiß, dass die Intensität proportional zur Helligkeit der Regionen ist. Zum Beispiel, um eine Menge proportional zu bestimmen ICH M A X , ich muss nur die hellen Streifen des Bildes studieren und die dunklen für ICH M ich N .

Mein Problem hier ist, welche Software ich verwenden soll? Und ist die bisherige Methode gut, um mein Ziel zu erreichen?

Antworten (3)

Unabhängig davon, welche Software Sie verwenden (z. B. ImageJ), müssen Sie das Bild zuerst vom sRGB-Farbraum in einen linearen Farbraum konvertieren. Um mit ImageJ in lineares RGB zu konvertieren, sollten Sie das Bild zuerst in 32 Bit konvertieren, durch 255 teilen und dann das mathematische Makro ausführen:

wenn (v < 0,040445) v = v/12,92; if(v>0.04044) v = pow((v+0.055)/1.055,2.4)

und dann wieder mit 255 multiplizieren.

Die Grauwerte der Pixel sind dann proportional zur Lichtintensität an den entsprechenden Fotostellen.

Warum würden Sie diese spezielle Konvertierung auswählen? Sie wissen nicht, wie die Bilddatei erstellt wurde, und das OP auch nicht, daher gibt es keine Möglichkeit, den tatsächlichen physikalischen Kontrast aus den Bilddaten zu rekonstruieren.
@CuriousOne Im Prinzip hätte jede beliebige Konvertierung verwendet werden können, aber wenn das Bild auf einem Computerbildschirm angezeigt werden sollte, ist es sehr wahrscheinlich, dass es in sRGB konvertiert wurde. Bei einer beliebigen nichtlinearen Transformation können Sie versuchen, die Transformation zurück in den linearen Farbraum zu finden, indem Sie unscharfe Bereiche des Bildes betrachten. Einige kontrastreiche Übergänge von Helligkeit v1 zu v2 werden aufgrund von Unschärfe als Helligkeitsprofil angezeigt, das sich allmählich von v1 zu v2 ändert. Im linearen Farbraum werden diese Funktionen aus verschiedenen Bereichen über eine Skalierungstransformation in Beziehung gesetzt.
Dadurch können Sie die Transformation in einen linearen Farbraum ableiten, die dafür sorgt, dass die Helligkeitsprofile über unscharfe Bereiche mit hohem Kontrast die Skalierungsbeziehungen erfüllen, die sie erfüllen sollten.
Die Art und Weise, wie Apple seine Bildschirme kalibriert, unterscheidet sich von der Art und Weise, wie es auf PCs durchgeführt wird, und wenn Sie das Farbwähler-Tool verwenden, haben Sie mehrere Auswahlmöglichkeiten. Man kann die "nativen Werte", "srgb", "generic rgb" oder "Adobe rgb" auswählen. Außerdem kann ich meinen Bildschirm sowohl am Mac als auch am PC mit einer Vielzahl von Optionen zur Optimierung der Farbwiedergabe kalibrieren. Dasselbe gilt für Digitalkameras, die manchmal ein Dutzend oder mehr Bildkalibrierungskonstanten haben. Es gibt nicht „die eine“ Art, ein Bild zu codieren, und jedes Mal, wenn Sie für ein anderes Format transcodieren, werden Sie wahrscheinlich auf ein anderes stoßen.

ImageJ enthält alle Tools, die Sie benötigen, ist weit verbreitet und kostenlos. Sie können sogar Ihre eigenen Verarbeitungsmodule hinzufügen, um die Funktionen zu erweitern.

Üblicherweise muss bei der Umrechnung von Pixelhelligkeiten in Intensitäten die verwendete Kamera berücksichtigt werden; Für wissenschaftliche Arbeiten verwenden wir normalerweise lineare CCD-Kameras, bei denen der Hersteller die Kalibrierungen für uns durchgeführt hat.

Andernfalls lesen Sie das ImageJ-Tutorial für Ratschläge.

Sie könnten Matlab verwenden: Laden Sie das Bild in eine Matrix und finden Sie dann die maximalen und minimalen Einträge der Matrix. Setzen Sie diese in Ihre Gleichung ein, um den Kontrast zu finden.

Alternativ können Sie für eine höhere Genauigkeit die niedrigsten und höchsten (sagen wir) 100 Werte nehmen und den Durchschnitt dieser Werte nehmen, um Ihnen Ihren Imin bzw. Imax zu geben.