我在本机代码中使用 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) 我的应用程序崩溃...
编辑:安德烈·卡马耶夫回答了这个问题。我必须使用抓取/检索方法在第二个中添加一个参数:
capture.retrieve(frame, CV_CAP_ANDROID_GRAY_FRAME);
谢谢