[英]Best way to convert RGB byte[][] image to byte[]
以 byte[][] 對象的形式獲取幀數據,其中每一行對應一個 (R,G,B) 通道,長度為(幀寬*幀高)。 我希望以類似的方式將其轉換為 byte[] 格式,如下所示:
byte[][] original_frame;
byte[] converted_frame = convert(original_frame);
ByteArrayInputStream bis = new ByteArrayInputStream(frame);
BufferedImage bImage2 = ImageIO.read(bis);
據我所知,ImageIO 采用 jpeg 格式。 我是否需要將每一幀都轉換為 JPEG 圖像,還是有更自然的方法來做到這一點?
我相信您在問如何從二維數組轉換為一維數組。 如果所有行的長度均為 3,如何執行此操作如下:
ArrayList<byte> x = new ArrayList<byte>();
for(int i=0; i<original_frame.length; i++){
x.add(original_frame[i][0]);
x.add(original_frame[i][1]);
x.add(original_frame[i][2]);
}
byte[] converted_frame= new byte[x.size()];
for(int i=0;i<x.size();i++){
converted_frame[i]=x.get(i);
}
我希望這有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.