V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Suyou520
V2EX  ›  问与答

opencv 打开视频的问题 弄了很久没有解决 求解答

  •  
  •   Suyou520 · 2018-07-28 12:14:50 +08:00 · 4166 次点击
    这是一个创建于 2295 天前的主题,其中的信息可能已经有所发展或是发生改变。
    #include"highgui.h"

    int main(int argc, char** argv)
    {
    cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
    CvCapture* capture = cvCreateFileCapture("F:\\learn files\\OpenCV\\text3.avi");
    if (!capture)
    {

    printf("capture failed!\n");
    return -1;
    }
    IplImage* frame;
    while (1)
    {
    frame = cvQueryFrame( capture );
    if (!frame) break;
    cvShowImage("Example2", frame);
    char c = cvWaitKey(33);
    if (c == 27)break;

    }
    cvReleaseCapture( &capture );
    cvDestroyWindow("Example2");
    }

    就是一个很简单的打开的 avi 文件
    但是打开总是灰屏闪退
    文件位置也没有问题
    网上查说是没有装解码器
    但是下了 xvid 还是没有用
    在逐行调试的时候 dos 会出现
    [ WARN:0]cvCreateFileCaptureWithPreference: backend FFMPEG doesn't support legacy API anymore.
    [ WARN:0] cvCreateFileCaptureWithPreference: backend MSMF doesn't support legacy API anymore.
    请问这是什么情况 要怎么解决啊
    谢谢各位大佬们
    4 条回复    2019-05-27 22:22:44 +08:00
    Suyou520
        1
    Suyou520  
    OP
       2018-07-28 14:11:17 +08:00
    刚才尝试了一下,用这段代码调用摄像头,同样会出问题,dos 一样会出现那两行,而且摄像头黑屏,但是摄像头灯已经亮了
    Muniesa
        2
    Muniesa  
       2018-07-29 02:06:12 +08:00 via Android
    试试不用指针的方法读取?
    huanyuwuren
        3
    huanyuwuren  
       2019-05-27 22:21:58 +08:00
    用的 opencv3.4.5,和你遇到一样问题,不知道你的问题解决没?我也是学习 opencv 时遇到的,看了第一条 warning,猜测可能是高版本 ffmpeg 已经不支持这个函数了,就下载了 3.4.0,然后把 opencv_ffmpeg340_dll 复制到项目文件夹里,就解决了,哈哈;估计这么长时间你已经搞定,希望帮到其他人
    huanyuwuren
        4
    huanyuwuren  
       2019-05-27 22:22:44 +08:00
    哎,学习一个新东西没人带,真心累啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:49 · PVG 10:49 · LAX 18:49 · JFK 21:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.