我想要更改图像中的像素值,为此,我需要将图像存储为矩阵。我怎样才能完成这项工作?请指点一下。
发布于 2011-03-30 02:39:45
BufferedImage image = ImageIO.read(..);
image.setRGB(x, y, rgb);查看BufferedImage的文档
发布于 2013-09-04 02:02:52
使用image.setRGB的速度非常慢。
您可以使用Catalano Framework
示例:
FastBitmap fb = new FastBitmap(bufferedImage);
int x = fb.getRed(0,0);
//If you prefer to retrieve the matrix you can do too.
int[][][] image = new int[fb.getHeight][fb.getWidth][3];
fb.toArrayRGB(image);发布于 2013-09-06 15:41:29
首先将图像读取到BufferedImage中。
BufferedImage image = ImageIO.read(new File("..."));然后像这样在2D数组中创建类似矩阵的结构,并设置RGB:
for(int i = 0; i < image.getWidth(); i++){
for(int j = 0; j < image.getHeight(); j++){
image.setRGB(i, j, rgb);
}
}https://stackoverflow.com/questions/5477284
复制相似问题