Heim  >  Artikel  >  Web-Frontend  >  Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode).

Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode).

高洛峰
高洛峰Original
2017-02-15 09:59:291577Durchsuche

Die Tonausgleichsfunktion von Photoshop ist normalerweise eine der am häufigsten verwendeten Funktionen in der frühen Phase der Fotobearbeitung. Sie spielt eine gewisse Rolle bei der Erweiterung des Bildkontrasts und der Verbesserung des visuellen Effekts. In vielen Lehrbüchern oder Artikeln wird diese Verarbeitung auch als Grauausgleich, Histogrammausgleich usw. bezeichnet. Das Prinzip des Algorithmus besteht darin, das Histogramm des Originalbilds zu zählen und die Histogrammdaten dann über die kumulative Verteilungsfunktion neu zu projizieren, sodass die Verteilungswahrscheinlichkeit jeder Farbstufe in die gleiche Richtung angepasst wird. Die Beschreibungen dieses Prozesses in den Codes, die ich im Internet oder in einigen Lehrbüchern gesehen habe, sind ziemlich überflüssig, entweder umständlich und ineffizient oder zu ausführlich und unbequem.

Bevor ich meinen Code gebe, müssen einige Probleme erklärt werden. Bei Graustufenbildern ist dieses Problem nicht offensichtlich, da bei herkömmlichen 24-Bit-Bildern drei RGB-Kanäle vorhanden sind. Es stellt sich die Frage, ob jeder Kanal einzeln entzerrt wird oder ob die drei Kanäle gemeinsam das Histogramm berechnen , und dann das Gleiche verwenden Die Zuordnungstabelle spiegelt RGB-Daten wider. Nach meinen Tests wird in Photoshop Letzteres verwendet.

    for (Y = 0; Y <p></p><p><span style="font-size: 13px; font-family: 宋体;"> Der Algorithmusteil besteht aus einfachen zwanzig Zeilen Code. Der Code ist klar und die Ausführungseffizienz ist extrem hoch. Ein übliches Foto von 4000*3000 kann innerhalb von 100 ms verarbeitet werden. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> Wenn ein Bild einmal einem Farbtonausgleich unterzogen wird, sollten keine Pixel transformiert werden, wenn der Farbtonausgleich erneut durchgeführt wird. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> Im Großen und Ganzen kann der Farbtonausgleich als Sonderfall des Histogrammabgleichs angesehen werden, d. h. das übereinstimmende Histogramm wird als horizontale Linie verteilt. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> Der Tonwertausgleich in einigen Büchern korrigiert jeden Kanal separat. Es scheint, dass der Effekt dieser Verarbeitung leicht zu einer Fehlanpassung der Gesamtfarbe des Bildes führen kann, wie zum Beispiel beim klassischen Lena-Bild : </span> </p><p><span style="font-size: 13px; font-family: 宋体;">                                                          <img src="https://img.php.cn/upload/article/000/000/013/8eb48ac53c4b686a55a10d84272a9b1f-0.jpg" alt="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode)."    style="max-width:90%"  style="max-width:90%" title="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode)."><img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-1.jpg" alt="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode)."    style="max-width:90%"  style="max-width:90%" title="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode)."><img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-2.jpg" alt="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode)."    style="max-width:90%"  style="max-width:90%" title="Schnelle Implementierung des PS-Tonausgleichsfilters (C#-Quellcode).">Schnellere Implementierungen von PS-Tonausgleichsfiltern (C#-Quellcode). Für verwandte Artikel achten Sie bitte auf die chinesische PHP-Website! </span></p> <p></p>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn