opencv 显示一个图片/播放视频

//显示图片
#include"highgui.h"
int main(int argc,char **argv)
{
    IplImage *img=NULL;
    char *imgname="E:/实验/image/1.jpg";
    img=cvLoadImage(imgname);//cvLoadImage加载一个图片 并返回一个IplImage指针
    cvNamedWindow("test",0);//创建一个叫test的窗口,窗口大小固定
    cvShowImage("test",img);//在窗口test中显示图片
    cvWaitKey(0);///等待按键进行下一步操作,若参数为正整数,则停留一段设置的时间
    cvReleaseImage(&img);//释放图片所占内存
    cvDestroyWindow("test");//销毁窗口
    return 0;

}

//播放视频

#include"highgui.h"
int main(int argc,char **argv)
{
    
    //播放视频,不过没声音
    cvNamedWindow("test",CV_WINDOW_AUTOSIZE);//创建一个test窗口
    CvCapture*capture=cvCreateFileCapture("E:/实验/image/adr.mkv");//读入一个视频文件并返回一个CvCapture指针(包括了读入视频的所有信息)
    IplImage *frame;//存储视频中的每一帧图片
    while(1)//循环体内读取capture中的每一帧图片
    {
        frame=cvQueryFrame(capture);//cvQueryFrame用来将下一帧视频文件载入内存,并返回当前帧的指针
        // cvLoadImage与cvQueryFrame的区别是前者为图像分配内存空间,所以当程序结束时要释放内存空间,
        //而后者使用已经在cvCapture结构中分配好的内存,因此没必要再调用cvReleaseImage
        if(!frame) break;//判断视频是否结束
        cvShowImage("test",frame);
        char c=cvWaitKey(33);//当前帧显示后等候33ms,如果期间用户出发了一个按键,c会被设置成这个按键的ASCII码
        if(c==27) break;//当用户按ESC键(ASCII27)时视频结束
    }
    cvReleaseCapture(&capture);
    cvDestroyWindow("test");
    return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值