아니요, 이미 회색 계조 인 YUV_420_888 이미지가 표시되는 IR 센서를 사용하고 있습니다. 하지만 그것을 바이트로 변환하려면 다음과 같은 함수를 사용하여 오류가 발생했습니다. 당신의 대답에 따라, 나는 오직 Y 비행기를 가져 갔고 결과에 녹색 스크린을주었습니다.
public static byte[] convertYUV420ToNV12(byte[] byteBuffers){
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
outputStream.write(byteBuffers);
//outputStream.write(byteBuffers[1]);
} catch (IOException e) {
e.printStackTrace();
}
// outputStream.write(buffer2_byte);
byte[] rez = outputStream.toByteArray();
return rez;
}
:
ByteBuffer[] buffer = new ByteBuffer[1];
Image image = reader.acquireNextImage();
buffer[0] = image.getPlanes()[0].getBuffer().duplicate();
//buffer[1] = image.getPlanes()[1].getBuffer().duplicate();
int buffer0_size = buffer[0].remaining();
//int buffer1_size = buffer[1].remaining();
buffer[0].clear();
//buffer[1].clear();
byte[] buffer0_byte = new byte[buffer0_size];
//byte[] buffer1_byte = new byte[buffer1_size];
buffer[0].get(buffer0_byte, 0, buffer0_size);
//buffer[1].get(buffer1_byte, 0, buffer1_size);
byte[] byte2 = buffer0_byte;
//byte2=buffer0_byte;
//byte2[1]=buffer1_byte;
image.close();
mArrayImageBuffer.add(byte2);
바이트를 dequeing 후
및 funcion로 이동