#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;
}