我如何使用onPreviewFrame(字节[]数据,摄像机)为了获得getPixel(int x,int y)。我想将框架更改为bitMap,这可能吗?我使用onPreviewFrame是因为我想每秒获取一次像素数据,因此获取图片太长了。
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
byte[] baos = convertYuvToJpeg(data, camera);
if (baos != null) {
Bitmap bitmap = Tool.loadBitmap(baos);
}
}
public byte[] convertYuvToJpeg(byte[] data, Camera camera) {
try {
YuvImage image = new YuvImage(data, ImageFormat.NV21,
camera.getParameters().getPreviewSize().width,
camera.getParameters().getPreviewSize().height,
null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Rect rect = new Rect(0, 0,
camera.getParameters().getPreviewSize().width,
camera.getParameters().getPreviewSize().height);
//set quality
int quality = 100;
image.compressToJpeg(rect, quality, baos);
return baos.toByteArray();
} catch (Exception e) {
}
return null;
}