Мой учитель дал нам задание сделать класс, который берет цветное изображение 640x480 bmp, чтобы преобразовать его в изображение в градациях серого, я нашел несколько источников с идеями, поэтому я сделал это. Но есть проблема, потому что кажется, что это заставляет меня не выдавать ошибку, но вывод не появляется. Я думаю, это мой код. Мой код
import java.io.*;
public class Grayscale{
FileInputStream image;
FileOutputStream img;
byte[] datos;
int gray;
public Grayscale(String nombre)throws Exception{
this.image = new FileInputStream(nombre);
this.img = img;
this.datos = new byte[image.available()];
this.gray = gray;
}
public void gray()throws Exception{
image.read(datos);
img = new FileOutputStream("grayscaleprueba.bmp");
for (int i = 0; i<datos.length; i++){
gray = (byte)(datos[i]*0.3 + datos[i+1]*0.59 + datos[i+2]);
datos[i] = (byte)gray;
datos[i+1] = (byte)gray;
datos[i+2] = (byte)gray;
}
img.write(datos);
}
}