Как конвертировать YUV в JPG на Java - PullRequest
0 голосов
/ 27 мая 2019

Есть массивы байтов YUV NV21

Как выполнить преобразование и сохранить его в файл jpg?

Я использую следующий код

byte[] mYUVData = YUV_420_888toNV21(planeY, planeU, planeV);
Mat mYuv = new Mat(1080 + 1080/2, 1040, CvType.CV_8UC1);
mYuv.put(0, 0, mYUVData);
Mat mRgba = new Mat();
Imgproc.cvtColor( mYuv, mRgba, Imgproc.COLOR_YUV420sp2RGBA );

// Read image as before
MatOfByte mob=new MatOfByte();
Imgcodecs.imencode(".jpg", mYuv, mob);
byte ba[]=mob.toArray();

BufferedImage bi= ImageIO.read(new ByteArrayInputStream(ba));


ImageIO.write(bi, "jpg", new File("C://Users/it/Downloads/image.jpg")); 

Но у меня неправильное изображение JPG

...