【问题标题】:Convert android preview frame to OpenCV Mat将android预览帧转换为OpenCV Mat
【发布时间】:2023-03-18 04:25:02
【问题描述】:

我正在尝试从相机预览中捕获图像并使用 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) 吗?

【问题讨论】:

    标签: android opencv camera


    【解决方案1】:

    你见过 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

    【讨论】:

    • 谢谢。不敢相信我错过了。
    猜你喜欢
    • 2019-06-19
    • 2019-06-22
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2015-12-13
    • 2017-02-19
    相关资源
    最近更新 更多