IplImage* img = cvLoadImage( argv[1] );
功能:将图像文件加载至内存
返回:一个指针,指向该图像文件的数据结构IplImage
cvNameWindow( "Example1", CV_WINDOW_AUTOSIZE );
功能:在屏幕上创建一个窗口
参数:第一个参数指定该窗口的标题,第二个参数定义窗口属性,0或CV_WINDOW_AUTOSIZE,自动拉伸缩放否
cvShowImage( "Example1", img );
功能:在窗口中显示图像
cvWaitKey(0);
功能:使程序暂停
参数:该时长为整数个毫秒单位,0或负数则一直等待用户触发按键操作
返回:触发按键的ASCII码,否则返回 -1
cvReleaseImage( &img );
功能:释放为该图像文件所分配的内存,img=NULL
cvDestroyWindow( "Example" );
功能:销毁显示图像文件的窗口
CvCapture* capture = cvCreateFileCapture( argv[1] );
功能:读入AVI文件,只分配一帧的空间,每次调用覆盖原来的数据
返回:一个指向CvCapture结构的指针
功能:填充或更新CvCapture结构,下一帧视频文件载入内存,不必释放内存,内存在CvCapture结构中
参数:一个CvCapture结构的指针
返回:一个对应当前帧的指针
cvReleaseCapture( &capture );
功能:释放CvCapture结构的内存空间
设置项目可以带参数运行时,此时不必再把arg[0]输入,直接输入test.avi即可,且把该视频文件放在和项目属性表一层的文件夹中即可。
功能:设置CvCapture对象的各种属性
参数:CV_CAP_PROP_POS_FRAMES表示以帧数来设置读入位置,视频长度比例则是AVI_RATIO代替FRAMES,传入新的滚动条位置
cvGetCaptureProperty( g_capture, CV_CAP_PROP_FRAME_COUNT );
功能:查询CvCapture对象的各种数据
参数:CV_CAP_PROP_FRAME_COUNT,CV_CAP_PROP_POS_FRAMES,CV_CAP_PROP_FPS
返回:返回视频的总帧数,返回当前帧数,帧率
cvCreateTrackbar( “Position”, “Example3”, &g_slider_position, frames, onTrackbarSlide );
功能:创建滚动条
参数:滚动条名称,所属窗口,对象,滚动最大值,滚动条被拖动时触发的回调函数
cvCreateImage( cvGetSize(image), IPL_DEPTH_8U, 3 );//当前图像是3通道,每个通道8位,图像大小同image
功能:分配自己的图像结构空间
参数:CvSize结构体,各通道每个像素点的数据类型,通道总数
cvGetSize(image);
cvSize( img->width/2,img->height/2 );
功能:得到CvSize结构
cvSmooth( image, out, CV_GAUSSIAN, 5,5 );
功能:平滑处理,每个像素周围5*5区域进行高斯平滑处理
IPL_GAUSSIAN_5x5应该改为CV_GAUSSIAN_5x5,否则找不到
cvCanny( in, out, lowThresh, highThresh, aperture );
不过还是有其他的方法可以打开摄像头,现在的知识还不够,可以用mat类的东西。
功能:新建视频文件
参数:指定新建视频文件的名称,视频压缩的编码格式DX50而Opencv用宏CV_FOURCC指定编码格式,帧率,图像大小
需要源码的同学可以在下方评论,我比较懒,就先不上传各个例子的源码了。