java如何用byte[]構造BufferedImage,處理之后怎么再輸出為byte[]?
2 回答

SMILET
TA貢獻1796條經驗 獲得超4個贊
1.byte[] -> BufferedImage
BufferedImage bi1 = ImageIO.read(new ByteArrayInputStream(byte[]));
2.BufferedImage -> byte[]
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(img, "PNG", out);
out.toByteArray()

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
我最近在移動設備上處理過由攝像頭回傳的圖像進行實時濾鏡處理的開發,所以還有一些涉略。
你的需求可能是要做圖像的處理。
如果你的圖像來自于別的編碼格式的話,比如一般攝像頭采集的都是YUV,那么你需要先進行解碼,轉換成RGB的,否者該類無法使用。
后面,如果你要獲取一個BufferedImage的rgb像素信息,可以使用其方法:
int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
如果需要非常高效的處理這些數據,可以使用jni去處理解碼的計算,可以極大提高運行效率。
添加回答
舉報
0/150
提交
取消