作者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
推 lachtchlee:pic[][] 是啥 沒見交代--> declaration 08/11 19:18
推 lachtchlee:BufferedImage 也是怪怪的 建議去看 Robert Sedgewick' 08/11 19:27
推 jtmh:有比較過灰階值差異的多寡嗎?會不會是轉換誤差? 08/12 05:47
推 AI3767:版上搜尋"bmp", 應該會有你要的東西 08/12 11:07