java - 访问Grayscale bufferedImage中的像素并更改java中的像素值

标签 java image-processing

我想对灰度图像进行某种图像处理。

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/

相关文章:

java - Gradle 获取某些库的最新版本

java - 检测 ASTM 协议(protocol)传输结束

image - 为什么图像的红色,绿色,蓝色 channel 分别是灰度(Matlab)?

ios - 快速图像处理

java - libGDX/RoboVM 项目中的 MFMailComposeViewController 生成错误

java - 可调用对象的并行执行

opencv - 如何使用x,y坐标在另一个图像上添加图像?

c++ - 使用 Magick++ 解码 PNG 图像

Java创建子类实例错误

c++ - 图像边界像素的操作问题