У меня есть двумерный массив двойников, который является фильтрованным значением изображения. Я хочу преобразовать этот массив обратно в BufferedImage
. Как можно отличить double[][]
до BufferedImage
?Преобразование 2D-массива удвоений в BufferedImage
BufferedImage b = new BufferedImage(arr.length, arr[0].length, 3);
Graphics c = b.getGraphics();
PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
for(int i=0; i< arr.length; i++){
for (int j=0; j<arr[0].length; j++){
c.drawString(String.valueOf(arr[i][j]), i, j);
writer.print(arr[i][j]+" \t");
}
writer.println();
}
ImageIO.write(b, "jpg", new File("CustomImage.jpg"));
System.out.println("end");
Когда я создаю файл-name.txt в matlab с imshow, я вижу свое отфильтрованное изображение. Однако CustomImage.jpg содержит только один цвет. Любая идея почему?
результат с c.drawString (String.valueOf (обр [я] [J]), I, J):
c.drawString (String.valueOf (обр [я] [J]), 0+ (я * 10), 0+ (J * 10)):
Matlab PLOR двойник обр первого двойного массивов и второго начального серого масштабируемого изображения:
Интересно, что '3.141592659' выглядит как пиксель –