Opencv cv::android本机代码中的视频捕获
我在本机代码中使用cv::VideoCapture,但遇到问题: 在android java代码中,Videocapture提供了一个Yuv420帧,在本机代码中是BGR帧。因为我需要一个灰色的图像,拥有一个Yuv图像会更好(我读到将Yuv转换成灰色是没有成本的) 以下是我的问题: 一个使用Asus TF201的im,获取一帧大约需要26毫秒,这是一个很大的问题。。。正如标准android camera API为Yuv提供的那样,VideoCapture的本机版本是否执行转换?(这可以解释时间成本) 是否可以使用CV\u CAP\u PROP\u格式更改格式?每当我尝试mycapture.get(CV\u CAP\u PROP\u格式)时,我的应用程序就会崩溃 编辑:安德烈·卡马耶夫回答了这个问题。我必须使用抓取/检索方法在第二个方法中添加参数:Opencv cv::android本机代码中的视频捕获,opencv,android-ndk,Opencv,Android Ndk,我在本机代码中使用cv::VideoCapture,但遇到问题: 在android java代码中,Videocapture提供了一个Yuv420帧,在本机代码中是BGR帧。因为我需要一个灰色的图像,拥有一个Yuv图像会更好(我读到将Yuv转换成灰色是没有成本的) 以下是我的问题: 一个使用Asus TF201的im,获取一帧大约需要26毫秒,这是一个很大的问题。。。正如标准android camera API为Yuv提供的那样,VideoCapture的本机版本是否执行转换?(这可以解释时间成
capture.retrieve(frame, CV_CAP_ANDROID_GRAY_FRAME);
谢谢看看Android的OpenCV示例。他们中的大多数人从
视频捕获
对象中获取灰色图像:
capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
在内部,该灰色图像以最有效的方式从yuv420帧“转换”,即使没有额外的复制。查看Android的OpenCV示例。他们中的大多数人从
视频捕获
对象中获取灰色图像:
capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
在内部,该灰色图像以最有效的方式从yuv420帧“转换”而来,即使没有额外的复制