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指针

原文地址:https://www.cnblogs.com/bu779783251/p/3133943.html