资源描述:
《opencv 编程入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OpenCV编程入门美国伊力诺理工学院计算机科学系GadyAdam翻译:Mensch2006年11月22日内容简介OpenCV概述资料链接OpenCV命名约定编译命令C程序实例GUI命令窗口管理输入设备OpenCV基础数据结构图像数据结构矩阵与向量其他数据结构图像处理创建与释放图像结构空间读入与存储图像读取图像元素图像转换绘图命令矩阵操作创建与释放矩阵结构空间读取矩阵元素矩阵/向量操作视频序列处理从视频序列中抓取一帧获取/设定帧信息存储视频文件简介OpenCV概述什么是OpenCV开源C/C++计算机视觉库.面向实时应用进行优化.跨操作系统/硬
2、件/窗口管理器.通用图像/视频载入、存储和获取.由中、高层API构成.为Intel®公司的IntegratedPerformancePrimitives(IPP)提供了透明接口.特性:图像数据操作(分配,释放,复制,设定,转换).图像与视频I/O(基于文件/摄像头输入,图像/视频文件输出).矩阵与向量操作与线性代数计算(相乘,求解,特征值,奇异值分解SVD).各种动态数据结构(列表,队列,集,树,图).基本图像处理(滤波,边缘检测,角点检测,采样与插值,色彩转换,形态操作,直方图,图像金字塔).结构分析(连接成分,轮廓处理,距离转换,模板匹配,
3、Hough转换,多边形近似,线性拟合,椭圆拟合,Delaunay三角化).摄像头标定(寻找并跟踪标定模板,标定,基础矩阵估计,homography估计,立体匹配).动作分析(光流,动作分割,跟踪).对象辨识(特征方法,隐马可夫链模型HMM).基本GUI(显示图像/视频,键盘鼠标操作,滚动条).图像标识(直线,辅助opencv-root>/docs/index.htmopencv-root>/samples/c/目录中):opencv-root>/samples/c/目录中):fitellipseOpenCV命名约定函数命名:cvActionTa
4、rget[Mod](...)Action=核心功能(例如设定set,创建create)Target=操作目标(例如轮廓contour,多边形polygon)[Mod]=bit_depth>(S
5、U
6、F)CS=带符号整数U=无符号整数F=bit_depth>(S
7、U
8、F)cv.h>#include#include#include//不必要-该头文件已在cv.h文件中包含编译命令Linux系统:g++hello-world.cpp-ohello-wo
9、rld-I/usr/local/include/opencv-L/usr/local/lib-lm-lcv-lhighgui-lcvauxWindows系统:注意在项目属性中设好OpenCV头文件以及库文件的路径.C程序实例////////////////////////////////////////////////////////////////////////////hello-world.cpp////一个简单的OpenCV程序//它从一个文件中读取图像,将色彩值颠倒,并显示结果.//////////////////////////
10、////////////////////////////////////////////////#include#include#include#include#includeintmain(intargc,char*argv[]){IplImage*img=0;intheight,width,step,channels;uchar*data;inti,j,k;if(argc<2){printf("Usage:main
11、7");exit(0);}//载入图像img=cvLoadImage(argv[1]);if(!img){printf("Couldnotloadimagefile:%s",argv[1]);exit(0);}//获取图像数据height=img->height;width=img->width;step=img->widthStep;channels=img->nChannels;data=(uchar*)img->imageData;printf("Processinga%dx%dimagewith%dchannels",heigh
12、t,width,channels);//创建窗口cvNamedWindow("mainWin",CV_WINDOW_AUTOSIZE);cvMoveW