有没有大佬对opencv熟悉呀,小弟有个问题请教一下:
在camera的onpreviewframe回调中想通过opencv报错图片,按照以下代码,为什么保存的图片是灰色的呢?
Mat mat = new Mat(previewSize.height , previewSize.width, CvType.CV_8UC1);//初始化一个矩阵,没数据
mat.put(0, 0, data);//从(0,0)开始放数据,直到data放完或者矩阵被填满(若是多通道,则把当前位置的通道全部填满,才继续下一个位置,data长度必须整除通道数).
Mat bgr_i420 = new Mat(previewSize.height*3/2 , previewSize.width, CvType.CV_8UC3);
Imgproc.cvtColor(mat, bgr_i420, Imgproc.COLOR_YUV2RGBA_NV21);//转换颜色空间
File file = new File(getExternalCacheDir(), System.currentTimeMillis() + type + "mat.jpg");
Imgcodecs.imwrite(file.getAbsolutePath(), mat);