在java中读取灰度图像
当我们读取RGB图像时,执行移位操作以分别获得R、G和B矩阵……是否可以读取灰度图像(JPEG)并直接处理其像素值,然后重写图像在java中读取灰度图像,java,image-processing,Java,Image Processing,当我们读取RGB图像时,执行移位操作以分别获得R、G和B矩阵……是否可以读取灰度图像(JPEG)并直接处理其像素值,然后重写图像 最终,我必须对灰度图像执行DCT操作。下面的代码将灰度图像读取为简单的二维数组: File file = new File("path/to/file"); BufferedImage img = ImageIO.read(file); int width = img.getWidth(); int height = img.getHe
最终,我必须对灰度图像执行DCT操作。下面的代码将灰度图像读取为简单的二维数组:
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);
}
}
File File=新文件(“路径/到/文件”);
BuffereImage img=ImageIO.read(文件);
int width=img.getWidth();
int height=img.getHeight();
int[]imgArr=新int[宽度][高度];
光栅=img.getData();
对于(int i=0;i
注意:graster.getSample(…)
方法有3个参数:x
-像素位置的x坐标,y
-像素位置的y坐标,b
-要返回的波段。对于灰度图像,我们应该/可能只得到0波段