看板 java 關於我們 聯絡資訊
我使用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