1. 程式人生 > >Android 相機 NV21 byte[] 和 JPEG byte[] 轉 OpenCV 的 Mat

Android 相機 NV21 byte[] 和 JPEG byte[] 轉 OpenCV 的 Mat

搗鼓了半天,好不容易成功,先記錄核心程式碼,後面詳細整理。

//YUV 轉 Mat
              Mat mat = new Mat(1440*3/2,1080,CvType.CV_8UC1);//,byteBuffer 1440,1080
              int re =  mat.put(0,0,data);
              Mat bgr_i420 = new Mat();
              Imgproc.cvtColor(mat , bgr_i420, Imgproc.COLOR_YUV2BGR_NV21);//COLOR_YUV2BGR_I420
//jpeg 轉 Mat
Mat mat = Imgcodecs.imdecode(new MatOfByte(jpegData), Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);