gpt4 book ai didi

java - reshape bufferedImage 并将 double 值存储在 txt 中

转载 作者:行者123 更新时间:2023-12-01 13:24:05 26 4
gpt4 key购买 nike

我想加载一张图像,将其大小调整为 100x100,将其 reshape 为 1x100000,并将其保存在 txt 文件中。所以我在 bufferedImage 中读取它,并将其大小调整为 100x100。我正在寻找 reshape 它并保存它的 double 值的下一步:

            File img = new File(train_path + fileNames.get(i) + "/" + imageNames.get(i).get(j));
BufferedImage in = ImageIO.read(img);
BufferedImage newImage = new BufferedImage(in.getWidth(), in.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = newImage.createGraphics();
g.drawImage(in, 0, 0, null);
g.dispose();

BufferedImage newImg = new BufferedImage(100, 100, BufferedImage.TYPE_BYTE_GRAY);

Graphics gr = newImg.createGraphics();
gr.drawImage(newImage, 0, 0, 100, 100, null);
gr.dispose();
System.out.println(newImage.getHeight()+ " "+ newImage.getWidth());
System.out.println(newImg.getHeight()+ " "+ newImg.getWidth());

最佳答案

您可以从初始图像中获取int数组:

int[] pixels = newImage.getRGB(0, 0, 100, 100, null, 0, 100);

这意味着在一个新数组中获取从 (0,0) 到 (100,100) 的 RGB 值,从索引 0 开始,每行偏移索引 100。

然后对于像素中的每个int,灰度值由下式给出:

int gray = pixels[i] & 0xFF;

关于java - reshape bufferedImage 并将 double 值存储在 txt 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21880880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com