CvCaptureFromAVI问题 - OpenCV的机器人 [英] CvCaptureFromAVI problems - OpenCV Android

查看:739
本文介绍了CvCaptureFromAVI问题 - OpenCV的机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要捕获帧由从存储在我的sd Android设备的卡的视频帧(在这种情况下我的仿真器)。我通过NDK使用Android和OpenCV的。我手动推SD卡内的文件SinglePerson.avi通过DDBS(日蚀)的文件浏览器,我用下面的code来读取文件:

I need to capture frame by frame from a video stored in my sd card of the Android device (in this case my emulator). I am using Android and OpenCV through NDK. I pushed manually the file "SinglePerson.avi" inside the sdcard through file explorer of DDBS (eclipse) and I used the code below to read the file:

    JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial4_Sample4Mixed_VideoProcessing(JNIEnv*, jobject)
{
    LOGI("INSIDE VideoProcessing ");

    CvCapture* capture = cvCaptureFromAVI("/mnt/sdcard/SinglePerson.avi");

    IplImage* img = 0;

    if(!cvGrabFrame(capture)){              // capture a frame
        LOGI("Inside the if");
        printf("Could not grab a frame\n\7");
        exit(0);
    }
    img=cvRetrieveFrame(capture);// retrieve the captured frame
    cvReleaseCapture(&capture);

}

问题是,cvGrabFrame(捕获)的结果始终为false。 任何建议正确地打开视频和抢框架? 在此先感谢

The problem is that cvGrabFrame(capture) results always false. Any suggestion to correctly open the video and grab the frames? Thanks in advance

推荐答案

您所观察的行为可能是由于 cvCaptureFromAVI()失败。您需要开始编码安全并检查调用你做出回报:

The behavior you are observing is probably due to cvCaptureFromAVI() failing. You need to start coding safely and check the return of the calls you make:

CvCapture* capture = cvCaptureFromAVI("/mnt/sdcard/SinglePerson.avi");
if (!capture)
{
    printf("!!! Failed to open video\n\7");
    exit(0);
}

这个功能通常失败,原因有二:

This function usually fails for 2 reasons:

  • 当它是无法访问文件(由于错误的文件系统权限);
  • (不被OpenCV的支持或视频格式)
  • 在缺少$ C $系统上的CCS。
  • When it's unable to access the file (due to wrong filesystem permissions);
  • Missing codecs on the system (or the video format is not supported by OpenCV).

如果你是新的OpenCV的,我建议你桌面(PC)第一个测试你的OpenCV code。

If you are new to OpenCV, I suggest you test your OpenCV code on a desktop (PC) first.

这篇关于CvCaptureFromAVI问题 - OpenCV的机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆