我想对灰度图像进行某种图像处理。
BufferedImage bImg = new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g=bImg.createGraphics();
g.drawImage(img,null,null);
我正在使用 ( BufferedImage.TYPE_BYTE_GRAY ) 这种类型来获取灰度图像
但是我不知道如何设置这个灰度 BufferedImage 的值。
最佳答案
我已经使用 writableRaster 解决了这个问题。
BufferedImage bImg = new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g=bImg.createGraphics();
g.drawImage(img,null,null);
WritableRaster raster=bImg.getRaster();
int[] iArray=new int[1];
for(int i=0;i<215;i++)
for(int j=0;j<215;j++){
raster.getPixel(i, j, iArray);
iArray[0]=0;
raster.setPixel(i, j, iArray);
}
关于java - 访问Grayscale bufferedImage中的像素并更改java中的像素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132400/