Android:如何使用 OpenCV C++ 打开文件?
Posted
技术标签:
【中文标题】Android:如何使用 OpenCV C++ 打开文件?【英文标题】:Android : How can I open a file using OpenCV C++ ? 【发布时间】:2017-05-11 11:59:17 【问题描述】:我的 android 设备上保存了一个视频文件。
使用getPath()
函数我得到了“sdcard/video_app/sample_video.mp4”。
我现在正尝试在我的 OpenCV C++ 代码(我正在使用 NDK 和 JNI)中使用这个视频文件:
String filename = "sdcard/video_app/sample_video.mp4";
VideoCapture capture(filename);
Mat img;
capture >> img;
imwrite("sdcard/video_app/test.jpg", img);
我补充说:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
什么都没有发生。我究竟做错了什么 ?
【问题讨论】:
opencv 仅支持 avi 容器中的 MJPG 编解码器 我已经用 avi 容器中的 MJPEG 视频尝试了这段代码,但仍然无法正常工作。 【参考方案1】:你可以试试,
VideoCapture capture=new VideoCapture();
capture.open("sdcard/video_app/sample_video.mp4");
Mat frames = new Mat();
// to read each frame and to save in Mat class
for(;;)
capture.read(frames);
imwrite("sdcard/video_app/test.jpg",frame);
【讨论】:
以上是关于Android:如何使用 OpenCV C++ 打开文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OSX 中使用 C++ opencv highgui 将活动窗口设置为 opencv 图像
android:如何将 int[] 转换为 OpenCV Mat c++?
如何在 Android Opencv c++ 中获取 abs Mat?