OpenCV学习笔记 厚道 发表于 2005-5-26 9:09:00
opencv是Intel公司为主导的开源类库,内有N多图像处理模式识别和机器视觉的类库函数(300++),可以通过对该类库的学习逐步掌握多种算法的c实现。
opencv ,FT,just now ,something wrong happened to the ziguang ,so i have to write in e, sounds terrible ,as my e is so ...:( the oc's character: 1、it‘s ok, amazing:) 庞大,数据结构比较复杂,常见的有 CvPoint,CvPoint2D32f,rect,mat 等等,此外还定义了n多结构体,来方便进行算法的实现。最主要的一个就是:IplImage,该结构是IPP库中定义,cv中有些改变,单不大。它是图像读取,存储,变换的基本结构单元。
2、命名规则:数据类型定义以Cv开头(大写V),函数以cv开头(小写cv).
3、代码量实在大19万,但是支持多平台,使用相对简单,教程丰富,可以去groups.yahoo.com去申请加入opencv讨论组。
opencv的安装使用:
点击安装文件-》去相应bin目录点击registallz注册-》在编译器中设置好include文件目录-》程序link中object/modles中加入 cv.lib cxcore.lib highgui.lib,现在就可以使用啦:)
例子:平台vc6.0 控制台程序
1、读取真彩图像转化为灰度图像 //////////////////////////////////////////////////////////////////////////////////
#i nclude "stdafx.h" #i nclude "cv.h" #i nclude "highgui.h"
int main(int argc, char* argv[]) { IplImage *image; IplImage *result;
image=cvLoadImage("c:\\friend.jpg",-1); //注意指针变量一定要先初始化才能使用,否则崩溃 //灰度转换时通道一定要设置正确 int channel=1;//image->nChannels; int depth=image->depth; CvSize sz; sz.width=image->width; sz.height=image->height; result=cvCreateImage(sz,depth,channel); cvCvtColor(image,result,CV_BGR2GRAY); cvNamedWindow("original",1); cvShowImage("original",image); cvNamedWindow("gray",1); cvShowImage("gray",result); cvWaitKey(0); cvReleaseImage(&image); cvReleaseImage(&result); cvDestroyWindow("original"); cvDestroyWindow("gray");
return 0; } ////////////////////////////////////////////////////////////////////////////////////////// 2
ka |