我正在使用 android sdk 相机开发 android 应用程序。在相机预览中,我需要帧内容,所以我使用 PreviewCallback 返回字节数组中的数据,现在我的问题是将数据保存在 mat 对象中,mat 返回灰色图像:
public void onPreviewFrame(byte[] data, Camera camera) {
Mat src = new Mat(previewSize.height, previewSize.width, CvType.CV_8U, new Scalar(255));
src.put(0, 0, data);
Highgui.imwrite("/mnt/sdcard/1.jpg", src);
}
任何人都可以帮助我生成 argb 图像
注意:我在预览图像格式中使用 NV21。
最佳答案
改为这样做:
Mat src = new Mat(previewSize.height, previewSize.width, CvType.CV_8UC3);
如果它不起作用,则意味着您的 data
已经是灰色的,因此您必须在代码中的某处将其设置为灰色。
关于java - 相机预览给出灰色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14376301/