openCV基础学习(1)
#imclude "highgui.h"
int main(int argc,char** argv){
IplImage* img=cvLoadImage(argv[1]);//将图像文件加载到内存
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
cvShowImage("Example1,img");
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}
cvLoadImage()是一个高层调用接口,能加载绝大多数格式类型的图像文件,返回值为一个指针,该指针指向一块为描述该图像文件的数据结构(IplImage)儿分配的内存块。
IplImage是一个结构体,能处理单通道、多通道、整型的、浮点型的等所有类型的图像文件。
cvNamedWindow()是一个高层调用接口,能在屏幕上创建一个窗口,第一个属性:“Example1”是窗口标题;第二个属性:“CV_WINDOW_AUTOSIZE”(默认值为0)但这一属性表示的是窗口大小会因为图像大小自动进行拉伸或收缩。
cvShowImage()将图像在具体的窗口中显示出来
cvReleaseImage(&img)用以执行内存释放操作
cvDestroyWindow("Example1")摧毁显示图像文件的窗口
#imclude "highgui.h"
int main(int argc,char**argv){
cvNameWindow("Example2",CV_WINDOW_AUTOSIZE);
cvCapture*capture=cvCreateFileCapture(argv[1]);
IplImage*frame;
while(1){//开始读取avi文件
frame=cvQueryFrame(capture);//用来将下一帧视频文件载入内存(实际是填充或更新cvCapture结构)
if(!frame)break;
cvShowImage("Example2",frame);
char c=cvWaitKey(33);
if(c==27)break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Example2");
}
cvCapture*capture=cvCreateFileCapture(argv[1])通过传入参数确定读取的avi文件并返回一个cvCapture指针