码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-07-06 08:21:20      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:des   使用   文件   os   时间   window   

//显示图片
#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;
}

opencv 显示一个图片/播放视频,布布扣,bubuko.com

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

标签:des   使用   文件   os   时间   window   

原文地址:http://blog.csdn.net/chaojiaini/article/details/36889791

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!