Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv cv::android本机代码中的视频捕获_Opencv_Android Ndk - Fatal编程技术网

Opencv cv::android本机代码中的视频捕获

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的本机版本是否执行转换?(这可以解释时间成

我在本机代码中使用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格式)时,我的应用程序就会崩溃

编辑:安德烈·卡马耶夫回答了这个问题。我必须使用抓取/检索方法在第二个方法中添加参数:

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帧“转换”而来,即使没有额外的复制