В файле точек с запятой CSV я сохранил значения пикселей в градациях серого из моего изображения. Я хочу импортировать эти значения в мою программу как объект класса BufferedImage. Я могу только привести изображение более блеклым
Есть шаги:
public static BufferedImage loadImageFromCSV(File file) throws Exception {
BufferedImage bufferedImage = null;
//load CSV file data to memory
List<String> linesFromCsvFile = CSVUtils.parseCSV(file);
//calculate width and height
int width = getWidthFromCSVLines(linesFromCsvFile);
int height = getHeightFromCSVLines(linesFromCsvFile);
//get values form CSV lines
Integer[][] pixels = asTwoDimensionalArray(linesFromCsvFile);
//generate image
bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
for (int y=0; y<height; ++y) {
for (int x=0; x<width; ++x) {
int rgb = pixels[y][x] | (pixels[y][x] << 8) | (pixels[y][x] << 16);
bufferedImage.setRGB(x, y, rgb );
}
}
return bufferedImage;
}
Ниже слева изображение в градациях серого и справа импортированное изображение в мою программу:
CSV-файл выглядит нормально : https://filebin.net/9mp7nifqu045b48e
Пожалуйста, помогите