万里之行第一步,打开图片和视频,然后才能进行下一步操作。(《学习OpenCV》P18-23,P30-31)
cvLoadImage中的参数为图片地址,cvCreateFileCapture中的参数为视频地址,斜杠要用\\或者/,不要直接用\,否则会出问题。
基本步骤都差不多,图片是用一个IplImage*类型的img接收打开的图片,然后建个窗口,将图片显示在窗口。
视频是用一个CvCapture*类型的capture接收打开的视频,然后一帧帧读视频里的每张图片,然后显示在窗口。不过每次循环要用cvWaitKay等待一个时间间隔,不然所有帧挤在同一时刻是打不开的。
#include"highgui.h"
int main(){
//显示图像
IplImage* img = cvLoadImage("D:\\OPENCV实验\\lena.jpg");
cvNamedWindow("显示图像",CV_WINDOW_AUTOSIZE);
cvShowImage("显示图像",img);
//播放视频
CvCapture* capture = cvCreateFileCapture("D:\\OPENCV实验\\David.gif");
cvNamedWindow("播放视频", CV_WINDOW_AUTOSIZE);
while (1){
img = cvQueryFrame(capture);
if (!img){
break;
}
cvShowImage("播放视频", img);
cvWaitKey(10);
}
cvReleaseImage(&img);
cvReleaseCapture(&capture);
cvDestroyWindow