0
我有2維字節陣列I [] [],每個條目,其中爲0或1(即255)使用緩衝圖像寫RGB圖像
現在我用下面的代碼寫RGB格式的圖像。
public void writeImage(String outputFileName){
BufferedImage BI = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for(int y = 0;y < height;y++){
for(int x = 0;x < width;x++){
int gray = (int) I[y][x] & 0xFF;
int newRGB = (gray << 16) + (gray << 8) + gray;
BI.setRGB(x, y, newRGB);
}
}
try{
ImageIO.write(BI, "JPG", new File(outputFileName));
} catch(IOException e){
System.err.println("Unable to output results");
}
}
圖像寫入成功。由於原始數據數組只包含兩個不同的值(0和255),因此我預計寫入的圖像也會有兩個不同的級別。然而,書面圖像有92個不同的級別。我究竟做錯了什麼 ?
哦,我看到了問題..有沒有wa獲得無損jpg壓縮? – AnkurVj 2011-03-02 02:16:30
如果您想要100%的準確性,請使用PNG或其他無損格式。 JPG可以獲得更好的準確性,但永遠不會完美,因爲它對圖像進行了優化。 – Dan 2011-03-02 02:18:27
@Dan thanx提示 – AnkurVj 2011-03-02 02:22:41