私は camera2 API を使用しています。バイト配列から RGB 値を取得することに興味があります。実際には、バイト配列が ByteBuffer から収集され、FileOutputStream.write(bytes) でファイルに書き込まれるときに、RGB 値の平均をこの部分から取得できます。
これが私のコードです:
ByteBuffer byteBuffer = mImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[byteBuffer.remaining()];
byteBuffer.get(bytes);
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(mImageFile);
fileOutputStream.write(bytes);
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace(); } catch
(IOException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
finally {
mImage.close();
try {
fileOutputStream.close();
}
catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
}