作者Lenan (蕾娜)
看板java
标题[问题] JAVA读图档的问题
时间Thu Aug 11 16:16:26 2011
我使用java写读图档的功能,
以下是程式码
不知道这样写法有没有错,
因为我之後用matlab也是写一个读档的,
但出来的pixel值和java写的不一样
不知道问题出在哪,
请问有版友知道吗?
PS:JAVA我图档是灰阶的
所以先读取图的RGB值
再转成灰阶的pixel值
matlab是直接读取灰阶的值
/**JAVA**/
File inputFile = new File("pepper.bmp"); //略
BufferedImage input = ImageIO.read(inputFile);
Height=input.getHeight();
Width=input.getWidth();
int minx=input.getMinX();
int miny=input.getMinY();
for(i=minx;i<Width;i++)
{
for(j=miny;j<Height;j++)
{
Color pixel = new Color(input.getRGB(i,j));
int imageRGB = input.getRGB(i, j);
int R = (imageRGB & 0xff0000) >> 16;
int G = (imageRGB & 0xff00) >> 8;
int B = (imageRGB & 0xff);
int l = (int) (.299 * R + .587 * G + .114 * B);
pic[i][j]=l;
}
}
/**MATLAB**/
img_cover = double(imread('pepper.bmp')); % 读影像
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.67.4
1F:推 lachtchlee:pic[][] 是啥 没见交代--> declaration 08/11 19:18
2F:推 lachtchlee:BufferedImage 也是怪怪的 建议去看 Robert Sedgewick' 08/11 19:27
3F:推 jtmh:有比较过灰阶值差异的多寡吗?会不会是转换误差? 08/12 05:47
4F:推 AI3767:版上搜寻"bmp", 应该会有你要的东西 08/12 11:07