# Binärbild erstellen



## aleksandar90 (5. Jan 2011)

Hallo,

ich möchte gerne ein bild in ein binärbild erzeugen. mein ansatz, bis jetzt zwei for schleifen die zeilen und spalten durchlaufen.
die nötigen informationen über das bild habe ich mit der methode ip.getpixels.
was schreibe ich in die for schleife??

gruss


----------



## Final_Striker (5. Jan 2011)

Wie lange sie laufen soll. ;-)


----------



## Andi_CH (5. Jan 2011)

und in der schlaufe drin

writePixel(rot, grün, blau)


----------



## Runtime (5. Jan 2011)

Kommt ganz darauf an, wie gut das Bild umgwandelt werden soll. Wenn es einfach mal binär werden soll, dann mache es zuerst zu einem grayscale image und ab einem bestimmten Wert ist der Pixel weiss, sonst schwarz. Wenn es binär sein soll, aber soviel ähnlichkeit mit dem Ausgangsbild haben wie möglich, dann wirds komplizierter. Du musstest möglich gleichfarbene Flächen heraussuchen und dann irgendwie ein Muster berechnen, um möglichst genau diese Farbe in schwaz-weiss zu erreichen.


----------



## aleksandar90 (5. Jan 2011)

könnte ich denn die pixelwerte in eine 2 dimensionale matrix reinpacken?
wenn ja wie?
evtl so...
 [JAVA=42]Matrix[][]=Pixelwerte[][/code]


----------



## aleksandar90 (5. Jan 2011)

meine letzte frage: wenn ich aus einem bild z.B. 50x50 Pixel habe und ich will dann ein binärbild daraus machen was denn hintergrund 0 setzt und vordergrund 1, was macht dann genau mein schwellwert und wie groß muss er sein?


----------



## Final_Striker (5. Jan 2011)

Der Schwellwert bestimmt ob aus dem original Pixel eine 1 oder 0 wird.

Schau dir das mal an: Schwellwertverfahren ? Wikipedia


----------



## aleksandar90 (5. Jan 2011)

bei wiki verstehe ich das nicht ganz. welchen wert muss der schwellwert denn haben.

habe hier denn teil wo das gemacht wird reingeschrieben.kann ich denn schwellwert aud dem originalbild herauskriegen?

[Java]if(pic[zeile][spalte]<???){	
pic[zeile][spalte]=0;}					
else{pic[zeile][spalte]=1;}[/Java]


----------



## madboy (5. Jan 2011)

Den Schwellwert musst du selber festlegen. Außerdem solltest du dich ein bisschen informieren, wie Farbwerte in Bildern gespeichert werden. Nach deinem Ansatz machst du für jeden Pixel im Originalbild drei Pixel im Binärbild (je nach dem, wie genau du auf das Originalbild zugreifst und ob das ein RGB-Bild ist).

Zeig am besten mal die komplette Klasse.


----------

