gpt4 book ai didi

java - 在 java 中将像素值从灰度设置为 0 和 1 时丢失图像部分

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:28 27 4
gpt4 key购买 nike

我正在使用 java 处理图像。我读取了一个灰度图像并将像素值转换为 0 和 1 我只为一些图像正确地得到了输出图像。在其他一些图像部分丢失这是我用来使图像数组变回图像的代码

`BufferedImage I = ImageIO.read(new File("path"));
SampleModel sampleModel;
Raster pixelData;
pixelData = I.getData();
int[][] pixels=new int[wid][hgt];
sampleModel=pixelData.getSampleModel();



BufferedImage image=new BufferedImage(wid,hgt,BufferedImage.TYPE_BYTE_BINARY);
WritableRaster raster=Raster.createWritableRaster(sampleModel,new Point(0,0));
for(int i=0;i<wid;i++)
{
for(int j=0;j<hgt;j++)
{
raster.setSample(i,j,0,pixels[i][j]);
}
}
image.setData(raster);

File output=new File("path");
ImageIO.write(image,"png",output);
System.out.println("..End..");`

图像的大小与原始图像相同,但整个尺寸仅包含原始图像的一部分。你能帮我吗

最佳答案

您的问题可能与您使用的示例模型有关。示例模型负责描述栅格将如何存储数据,也许您正在使用一个模型,每个像素放置更多信息,然后图像仅获得原始缓冲区的一部分。

干杯

[更新]@Joop Egen 是正确的,您需要使用图像中的示例模型,您在其中定义了您正在使用每像素“配置”的灰度字节

关于java - 在 java 中将像素值从灰度设置为 0 和 1 时丢失图像部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766572/

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