2015-06-20 6 views
0

Как мы читаем изображение RGB, выполняйте операции переключения, чтобы получить матрицы R, G и B отдельно ... Возможно ли читать изображение в масштабе серого (JPEG) и непосредственно манипулировать его пикселем values.And затем переписать изображение?Чтение изображения в оттенках серого в java

В конечном счете, я должен выполнить операцию DCT на изображении с серой шкалой.

ответ

1

Приведенный ниже код будет читать полутоновое изображение для простого двухмерного массива:

File file = new File("path/to/file"); 
    BufferedImage img = ImageIO.read(file); 
    int width = img.getWidth(); 
    int height = img.getHeight(); 
    int[][] imgArr = new int[width][height]; 
    Raster raster = img.getData(); 
    for (int i = 0; i < width; i++) { 
     for (int j = 0; j < height; j++) { 
      imgArr[i][j] = raster.getSample(i, j, 0); 
     } 
    } 

Примечание: Метод raster.getSample(...) принимает 3 аргумента: x - Х координата местоположения пикселя, y - Y-координата местоположение пикселя, b - группа для возвращения. В случае изображений в оттенках серого мы должны/могут получить только диапазон .