olá pessoal gostaria de passar a imagem em tons de cinza para colorido, de colorido pra tons de cinza tenho o seguinte código:
//for percorrendo altura e tamanho da imagem
for(int i = 0; i < imagem.getWidth(); i++)
{
for(int j = 0; j < imagem.getHeight(); j++)
{
//cria uma nova cor, passando com parametro a cor obtida na posicao i, j
Color c = new Color(imagem.getRGB(i,j));
//guarda na variavel os tom de vermelho, verde e azul e divide por 3
// int tomCinza = ((c.getRed()+c.getGreen()+c.getBlue())/3);
int red = (int)(c.getRed() * 0.299);
int green = (int)(c.getGreen() * 0.587);
int blue = (int)(c.getBlue() *0.114);
//cor criada recebe os tom de cinza
//c = new Color(tomCinza, tomCinza, tomCinza);
Color newColor = new Color(red+green+blue,red+green+blue,red+green+blue);
//seta os pixels com a com os tom de cinza
imagem.setRGB(i, j, newColor.getRGB());
}
}