Я сканирую черно-белую фотографию размером 100x100 пикселей и пытаюсь напечатать каждую координату x и y (пиксель за пикселем), исходя из того, что она черная или белая.Поскольку оператор print работает, я вижу ожидаемый результат в консоли, но после его завершения он начинает выдавать значение 0 для каждого значения результата и печатает только к северу от x 95. Не могли бы вы объяснить, как это исправить?
public class BW
{
public static void main(String[] args) {
try {
BufferedImage original = ImageIO.read(new File("maze.jpg"));
int red;
int[][] outcome = new int[original.getHeight()][original.getWidth()];
for(int i=0; i<original.getHeight(); i++)
{
for(int j=0; j<original.getWidth(); j++)
{
red = new Color(original.getRGB(i, j)).getRed();
int pixel = 0;
if(red > 1)
{
outcome[i][j] = 255;
System.out.println("x: " + i + " y: " + j + " value: " + outcome[i][j]);
} else {
outcome[i][j] = 0;
System.out.println("x: " + i + " y: " + j + " value: " + outcome[i][j]);
}
}
}
} catch (IOException e) {e.printStackTrace();}
}
}
Выход терминала ниже (он продолжается до x, равного 99, и y, если 99, с увеличением y на 1 и переключением x с 98 на 99 в середине -
Это снимок экрана, который я сделал, пока он еще работал, и вы можете видеть, что он правильно вычислялся. После завершения он превращается в изображение выше.