无法在安卓上使用 Videocapture() 读取视频文件



我是安卓系统的新手,对在安卓系统中使用opencv没有太多知识。我想从存储器中读取视频并提取帧,但我无法读取视频。我使用了视频捕捉,但它总是显示失败。这是我正在使用的代码片段。视频文件路径为/storage/emulated/0/Android/data/demoVid/Demo.avi。文件大小为250MB

VideoCapture cap = new VideoCapture();
//        cap.open(vpath.toString());
cap.open(imFile);
Mat frame = new Mat();
int framecount = 0;
if(cap.isOpened()){
Log.d("VideoCapture","Videocapture successful");
}
else
{
Log.d("VideoCapture","Videocapture failed");
}

所以基本上我只想使用opencv的视频捕获在android中读取一个视频文件。我使用的是opencv 3.4.10版本,它给出了找不到文件的错误。我尝试更改路径,并检查路径是否定义正确,但仍然无法读取文件。在浪费了很多时间之后,我升级到了opencv 4.5.0版本(升级以获得sift功能(,我的问题在同一代码中得到了解决。因此,也许一些旧版本的opencv不支持视频捕获。此外,我想提到的是,我从视频捕获中读取的帧占用了很多时间,因此我无法获得实时体验。

最新更新