创建对象并使用mpej / avi / mp4路径对其进行初始化之后,我总是在“ obj.isOpened()”中得到“ false”。无论您将open函数作为输入参数如何,都始终在其中获得false标志。我正在使用Xamarin Android。代码很简单,但是我不知道为什么它不起作用。
使用以下工具:
1) VS2017
2) Xamarin Android(将OpenCV项目与Xamarin Android App绑定。使用此链接https://www.youtube.com/watch?v=pFv_1KeMZVs)
3) Opencv c ++ 4.0.1-1.4.4,jar
我尝试了以下
1)授予Android Manifest的所有权限
2)用作输入参数
**a)** Link
**b)** 0 , -1 , 2......5000
**c)** Local file from assets folder as well as Resource-> Drawable folder
3)尝试了不同的格式(mp4,Mpeg,Avi)。没有一个。
4)在绑定项目中导入了“ FFmpeg-2.1 -1.4.4.jar”。没用。
5)下载了Opencv示例项目(版本= 3.1.0),并在该项目中运行了我的代码。没用。
代码:
string Video_Path = ("android.resource://" + this.PackageName +"/" + Resource.Drawable.sample2);
VideoCapture capture = new VideoCapture();
bool flag=capture.Open(Video_Path);
if (capture.IsOpened)
{
}
else
{
}
注意:在上面的代码sample2中是我的mpej / mp4 / avi文件。
OpenCV可以正常工作,因为我已经通过将图像转换为灰度来测试我的代码,并且可以正常工作。