Graphics2D: Inhalt auf Graustufen

Hallo,

zeichne einfach in ein BufferedImage (bufferedImage.createGraphics() ...)

und wende dann einen Graustufen-Filter an.
http://www.tutorials.de/forum/java/237843-bild-graustufen-umwandeln.html

Gruß Tom

mhh hi, klingt gut, aber ich veränder das graphics2D objekt später noch und will alos einen teil erstmal in graustufen haben, dann müsst ich en bufferedimage machen und daraus wieder ein graphics2D objekt, hat da jemand ne idee?




Habe gerade deinen post gelesen, es müsste doch möglich sein, den filter anzupassen, so dass bestimmte farbwerte (wie zum beispiel bei mir ein bestimmter rotton) nicht verändert werden^^ werds mal ausprobieren!

THX
 
Zuletzt bearbeitet:
Wie wäre es mit diesem Ansatz (nicht von mir)
farbe ist ein RGB Wert, der in einem int gespeichert wurde
int rot=(farbe&256*256*255)/(256*256);
int grün=(farbe&256*255)/256;
int blau=(farbe&255);
int grau=(rot+grün+blau)/3;
int neuefarbe=(grau,grau,grau);
 
Dieser Ansatz ist schon ganz gut, berücksichtigt aber nicht, dass das Auge für unterschiedliche Farben unterschiedlich empfindlich ist.

„Um einen RGB-Wert in einen 8-Bit Graustufen-Wert umzurechnen kann man die Formel "G = (R+G+B)/3" verwenden. Da das menschliche Auge allerdings verschiedene Farben verschieden stark wahrnimmt, Grün am stärksten, wird oft folgende Umrechnung verwendet: "G = 0,299*R + 0,587*G + 0,114*B".“ [http://de.wikipedia.org/wiki/RGB-Farbraum]

Zitat von anfängerregnäfna
>Wie wäre es mit diesem Ansatz (nicht von mir)
>farbe ist ein RGB Wert, der in einem int gespeichert wurde
>int rot=(farbe&256*256*255)/(256*256);
>int grün=(farbe&256*255)/256;
>int blau=(farbe&255);
>int grau=(rot+grün+blau)/3;
>int neuefarbe=(grau,grau,grau);
 
P.S.: Diese Gewichtung kann man natürlich je nach Gegebenheit anpassen, vor allem bei Fotos kann man da sehr gute Effekte erzielen. Z.B. sind Hautunreinheiten oft rot, wenn man also die gewichtung beim rotkanal runterdreht kann man auf einem graustufenfoto eine ganz weiche, klare haut erzielen.
wenn man einen zu starken himmel hat, dreht man den blauwert runter usw. (man muss es dann natürlich an den anderen beiden gewichtungen ausgleichen)
 

Neue Beiträge

Zurück