将 android 预览帧转换为 OpenCV Mat

2024-02-09

我正在尝试从相机预览中捕获图像并使用 OpenCV 将其转换为 Mat 对象。 我注册了callbak方法public void onPreviewFrame(byte[] data, Camera camera)所以我从相机收到所有预览帧,但无法将其转换为 OpenCV Mat 对象。

我目前正在使用以下代码来转换预览data到 Mat 对象:

Mat previewFrameMat = new Mat(1, data.length, CvType.CV_8U);
previewFrameMat.put(0, 0, data);

这是正确的方法吗?我使用的图像类型是否正确(CvType.CV_8U) ?


您看过 OpenCV 示例是如何做到这一点的吗?

mYuv = new Mat(getFrameHeight() + getFrameHeight() / 2, 
    getFrameWidth(), CvType.CV_8UC1);

....

mYuv.put(0, 0, data);

完整源代码可以在 SourceForge 的 Android 包中或此处找到:http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/Sample1View.java http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/Sample1View.java

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 android 预览帧转换为 OpenCV Mat 的相关文章

随机推荐