Я преобразую изображение NV21 в растровое изображение, а затем отображаю его.Тем не менее, это, очевидно, очень медленно (я не думаю, что у меня намного больше, чем 1 кадр / с).У вас есть предложения по улучшению этого?Это мой код:
byte nv21bytearray[] = frame.getImage();
Resolution size = frame.getSize();
Integer height = size.height;
Integer width = size.width;
YuvImage yuvImage = new YuvImage(nv21bytearray, ImageFormat.NV21, width, height, null);
ByteArrayOutputStream os = new ByteArrayOutputStream();
yuvImage.compressToJpeg(new Rect(0, 0, width, height), 100, os);
byte[] jpegByteArray = os.toByteArray();
bitmap = BitmapFactory.decodeByteArray(jpegByteArray, 0, jpegByteArray.length, options);
runOnUiThread(new Runnable() {
@Override
public void run() {
imageView.setImageBitmap(bitmap);
}
});
Я использую телефон Motorola Moto E 4G (второе поколение Moto E).