安卓 : How can I open a file using OpenCV C++ ?

标签 android c++ opencv android-ndk

我的 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"/>

什么都没有发生。我究竟做错了什么 ?

最佳答案

你可以试试,

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);
}

关于安卓 : How can I open a file using OpenCV C++ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914786/

相关文章:

c++ - 在文件描述符上设置 FD_CLOEXEC 与将其传递给 posix_spawn_file_actions_addclose 之间有区别吗?

android - 使用多点和灵活尺寸裁剪图像?

android - Uber SDK 中的 "SURGE CONFIRMATION REDIRECT URI"是什么?

c++ - CPU 缓存临界跨度测试根据访问类型给出意外结果

android - 使用 C++ 的 NativeActivity

c++ - 不同类型的指针之间的分配有效,我不知道为什么

opencv - OpenCV (CV_8UC4) 中的 4 channel 图像矩阵中的数据是如何布局的?

opencv - opencv和javacv之间的转换

android - 奥利奥地理围栏,打瞌睡模式

php - 向特定用户发送推送通知