Ich habe einige Farben in RGB in [0,1] und möchte einen Weg finden, ihre Ähnlichkeit zu bewerten, wie sie von einem Menschen wahrgenommen wird.
Ich habe zwei Ideen, aber ich bin mir sicher, dass es auch andere Optionen gibt, bin mir aber nicht sicher, welche die beste ist oder ob es vielleicht keine beste gibt, sondern nur Kompromisse.
Meine erste Idee ist es, die RGB-Farben als XYZ-Punkte zu behandeln und ihren Abstand zu berechnen.
Eine andere Idee, die ich habe, ist, die RGB-Werte als Histogramm zu behandeln und ein Punktprodukt zu verwenden, um einen Ähnlichkeitswert zwischen ihnen zu erhalten, wobei ein größerer Wert besser ist.
Ich weiß jedoch, dass nicht alle Farbkanäle die gleiche wahrgenommene Helligkeit haben. Vielleicht sollte ich die Farbkanäle in beiden Fällen unterschiedlich gewichten?
Ich denke auch, dass ich möglicherweise eine sRGB-Korrektur für die Farbwerte durchführen müsste (z. B. sqrt für jeden Farbkanal).
Ich weiß auch, dass andere Farbräume existieren, also wäre vielleicht einer von ihnen besser darin, einen Ähnlichkeitswert zu geben.
Eine weitere Herausforderung kann darin bestehen, dass unterschiedliche Displays dieselben Farbwerte unterschiedlich anzeigen. Ich bin mir nicht sicher, ob dies in diesem Fall relevant ist.
Kann jemand Hilfe / Anleitung geben?
Antworten:
Dies ist ein riesiges Thema, das lose unter dem Banner von Farbmodellen zu finden ist . Warum es nicht unbedingt eine einfachere Formation ist, liegt an der psychophysischen Natur der Farbe, dass Farbe nicht jenseits des menschlichen Organismus existiert.
Der beste Rat ist, ähnlich wie bei der Kryptografie, nicht selbst zu rollen. Sie werden wahrscheinlich zu einem suboptimalen System gelangen, das im besten Fall Wände trifft, die bereits von anderen Forschern auf diesem Gebiet getroffen wurden. Wenn Sie Ihre Arbeit auf vorhandene Modelle und Forschungsergebnisse stützen, werden Sie möglicherweise feststellen, dass diese für Ihre Anforderungen genauer sind [1].
Man könnte auf die historischen Entwicklungen rund um CAMs hinweisen, aber es ist hier einfacher vorzuschlagen, dass Sie das IPT-Farbcodierungsmodell und sein zylindrisches Äquivalent untersuchen, das Farbigkeit und Farbton als Winkel modelliert. Die Entwicklungen im IPT-Modell überwinden die meisten Probleme des früheren Lab-Modells und vereinfachen einige der Arbeiten in CIECAM02.
IPT und jeder RGB-Farbraum sind in der CIE-Forschung von 1931 verankert. Daher werden diese Probleme auf einer niedrigeren Ebene gelöst.
[1] Diese erweiterte Antwort ist auf den folgenden Kommentar von Herrn Wolfe zurückzuführen, um zu erklären, warum das Rollen Ihrer eigenen Lösung möglicherweise ein nicht optimaler Ansatz ist.
quelle
Wenn eine komplexe Metrik akzeptabel ist, würde ich vorschlagen, den hier beschriebenen wahrnehmungsbasierten Ansatz zu betrachten . Die Metrik dient dazu, die Wahrnehmungsdifferenz zweier Bilder zu ermitteln. Dafür gibt es zwei Haupttests: Luminanzbasiert und Farbbasiertest. Zunächst kann die Frage beantwortet werden, wie wichtig die Änderung der Luminanz ist, indem ein ungleichmäßiger Schwellenfaktor geschätzt wird, der auf der Empfindlichkeit gegenüber Kontraständerungen in Abhängigkeit von den räumlichen Frequenzen des Bildes basiert. Der zweite basiert auf dem euklidischen Abstand im CIE LAB-Farbraum, ist jedoch leicht modifiziert, um den Farbunterschied weniger wichtig zu machen, wenn die Luminanz im mesopischen und skotopischen Bereich liegt. Eine Liste der Artikel zu dieser Metrik finden Sie hier .
quelle