用于播放硬盘中avi视频的简单程序(opencv)

1,代码及注释

#include "highgui"

int main(int argc,char** argv){

//创建播放窗口

    cvNameWindow("vedio",CV_WINDOW_AUTOSIZE);

//从硬盘中读取视频(返回一个指向avi文件头的指针)

//其中包含了avi文件的信息

    CvCapture *capture = cvCreateFileCapture("vedio.avi");

//创建一个图像文件指针

    IplImage*  frame ;

//循环读入每一帧图像

    while(1){

//获取下一帧图像,返回当前帧的指针

        frame = cvQueryfame(capture);//其参数为CvCapture结构的指针

//判断当前帧的指针是否为null,即视频是否播放完

        if( ! frame)break;

//显示每一帧的图像

        cvShowImage("vedio",frame);

//设置每一帧图像的播放间隔时间(33ms)

      char c=  cvWatiKey(33);

//在上一步的等待时间内,任意按键都会转化为(ASC II)。设置退出键esc(27)

        if(c==27)break;

    }

//释放为CvCapture结构分配的内存

    cvReleaseCapture(&capture);

    cvDestroyWindow("vedio");

}

2.核心代码截图

3.遇到的问题

  • Q:在代码完全正确的情况下,任不能播放avi视频?

       A:没有安装解码器,下载一个xvid解码器安装后就能播放了;

             还有可能是avi编码的问题,用软件改成xvid编码。

猜你喜欢

转载自blog.csdn.net/qq_40142351/article/details/81158412
今日推荐