Java中如何将图像读为矩阵形式,在如何返回图像形式
就是将一个图像读为矩阵形式,然后我再这个矩阵的基础上进行操作,改变数据后,可能大小也改变了,然后如何重新写回图像?...
就是将一个图像读为矩阵形式,然后我再这个矩阵的基础上进行操作,改变数据后,可能大小也改变了,然后如何重新写回图像?
展开
1个回答
展开全部
首先要先将图像解压缩为位图形式,提取位图中的数据之后就是矩阵形式,然后程序对需要处理的像素点进行处理,完毕之后跟据处理后的数据生成一个新位图,最后再将这个新位图保存为你需要的格式。大体思路就是这样,你可以借助一些开源的开发包来做解压缩和压缩这两步,自己的程序只关注数据处理即可。
追问
哦,是不是每种图像的压缩格式都不一样,所以需要不同的解压缩和压缩方式? 还有就是那些开源的包大概在什么地方可以找到,如果找不到的话,我对直接是位图的数据如何读取和保存为位图?File imageFile = new File(imageName);
BufferedImage bufferedImage = ImageIO.read(imageFile);
bufferedImage.getRGB(i,j ); 可以不可以读出来每一个相位的数值?
追答
每种图像压缩格式是不一样的,所以解压缩和压缩的方式也不同。开源的包你在gnu开源网站上应该能找到,要么可以去百度搜搜,一定有。如果找不到,只针对位图的话,你要先了解下位图的格式,微软msdn上有详细描述,位图也分压缩和非压缩的,对压缩的,你要解压缩。提取出来数据部分处理完毕之后,按照位图格式你加上格式头保存就是新位图了。至于你写的代码,没有必要,位图格式很简单的,基本就是一个像素矩阵,你可以很容易找到每个像素点的像素值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询