konvertieren von RGB zu Graustufen in C

Benutzte ich viele Formeln zum umwandeln von RGB in Graustufen, aber nicht die guten Ergebnisse im Vergleich zu GIMP.

Ich bereits getestet, das folgende Formeln:

gray = (int)(0.299 * r + 0.587 * g + 0.144 * b);

gray = (int)(0.299 * r + 0.587 * g + 0.114 * b);

gray = (int)(0.2126 * r + 0.7152 * g + 0.0722 * b);

gray = (int) (0.35*r + 0.50*g + 0.15*b);

gray = ((r * 61) + (g * 174) + (b * 21)) / 256;

gray = (int)((4897 * r + 9617 * g + 1868 * b) >> 14);

gray = r; if(g > gray) gray = g; if(b > gray) gray = b;
  • Ich glaube nicht dass das wirklich on-topic hier, da es sich um eine (subjektive) Grafik-Frage als eine Frage der Programmierung. Das heißt, GIMP ist open-source, so Tat Sie betrachten gerade auf der Suche, was es tut?
  • Können Sie nicht einfach libgimp um es für Sie tun?
  • Da das Auge eine maximale Empfindlichkeit im grün, es scheint, wie erste oder vierte Formel richtig.
InformationsquelleAutor user2000255 | 2013-03-28
Schreibe einen Kommentar