Доступ к пикселям в градациях серого bufferedImage и изменение значения пикселей в Java - PullRequest
2 голосов
/ 03 февраля 2012

Я хочу выполнить некоторую обработку изображения на изображении в градациях серого.

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.

1 Ответ

6 голосов
/ 04 февраля 2012

Я решил это с помощью 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);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...