Hi,
ich habe folgendes java-Programm geschrieben, das ein Bild zu einem schwarz-weiß-Bild machen sollte. Allerdings sind in dem ergebnis immernoch einige Grauwerte, die eigentlich nicht vorkommen dürften.
weis jemand woran das liegt und wie ich das ändern kann?
Im Anhang ist das linke Bild das Ergebnis des Programms und rechts das Original
ich habe folgendes java-Programm geschrieben, das ein Bild zu einem schwarz-weiß-Bild machen sollte. Allerdings sind in dem ergebnis immernoch einige Grauwerte, die eigentlich nicht vorkommen dürften.
Java:
private void marchThroughImage(BufferedImage image)
{
int w = image.getWidth();
int h = image.getHeight();
blackWhite = new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);
for (int i = 0; i < h; i++)
{
for (int j = 0; j < w; j++)
{
int pixel = image.getRGB(j,i);
setPixelBlackWhite(j,i,pixel);
}
}
}
private void setPixelBlackWhite(int j,int i,int pixel)
{
int white=125, black=132;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel) & 0xff;
if(red>=white && green>=white && blue>=white)
{
blackWhite.setRGB(j,i,0xffffff);
} else if(red<=black && green<=black && blue<=black)
{
blackWhite.setRGB(j,i,0x000000);
} else {
blackWhite.setRGB(j,i,pixel);
System.out.println("x,: " + j +", y: " + i);
System.out.println("rgb: " + ", " + red + ", " + green + ", " + blue);
System.out.println("");
}
}
weis jemand woran das liegt und wie ich das ändern kann?
Im Anhang ist das linke Bild das Ergebnis des Programms und rechts das Original