【问题标题】:cv::VideoCapture in android native codeandroid 本机代码中的 cv::VideoCapture
【发布时间】:2012-06-07 08:31:14
【问题描述】:

我在本机代码中使用 cv::VideoCapture,但遇到了问题: 在 android java 代码中,Videocapture 给出了一个 Yuv420 帧,在本机代码中它是一个 BGR 帧。因为我需要一张灰色图像,所以有一个 Yuv 图像会更好(我读到将 Yuv 转换为灰色是没有成本的)。

这是我的问题:

使用华硕 TF201 的即时通讯,获取一帧大约需要 26 毫秒,这很多...因为标准的 android 相机 API 为 Yuv 提供了本机版本的 VideoCapture 是否执行转换? (这将解释时间成本)

是否可以使用 CV_CAP_PROP_FORMAT 更改格式?每当我尝试 mycapture.get(CV_CAP_PROP_FORMAT) 我的应用程序崩溃...

编辑:Andrey Kamaev 回答了这个问题。我必须使用抓取/检索方法在第二个中添加参数:

capture.retrieve(frame, CV_CAP_ANDROID_GRAY_FRAME);

谢谢

【问题讨论】:

    标签: opencv android-ndk


    【解决方案1】:

    查看适用于 Android 的 OpenCV 示例。他们中的大多数都从VideoCapture 对象中获取灰色图像:

    capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
    

    在内部,这个灰色图像是从 yuv420 帧以最有效的方式“转换”而来的——即使没有额外的复制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-25
      • 2012-07-23
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-18
      • 2012-06-10
      相关资源
      最近更新 更多