




已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenCV自学资料,田永鸿北京大学数字媒体研究所,第一部分,OpenCV概述基础架构和操作基本OpenCV程序和示例注:本课程部分代码来自OpenCV样本,部分代码来自OpenCV教程基础篇,部分代码来自互联网。 2、OpenCV概述,OpenCV是英特尔的开源计算机视觉库。 它由一系列的c函数和少量的c类组成,实现了许多关于图像处理和计算机视觉的通用算法。 OpenCV的特点是具有中高级别的API交叉平台,包括300多个c函数: Windows、Linux免费(FREE ) :易于使用的3、4、OpenCVstructure,无论非商业应用程序或商业应用程序的速度如何cxcorebasisstructuresandalgoritms、XMLsupport drawingfunctions、CVImageprocessingandvision、HighGUIGUI、ImageandVideoI/O、mlmaching CVCamvideostreamprocessing,TheFunctionalityinPictures,下载和安装OpenCV,1,下载地址为6,2k3,createa win32 cv mak eitan empty project byselectingtheboxunder application settings ,2k3,select c文件 andgiveitaname, creatingafilemakesitpossibleetoset additinlcledicrectives int hech/cpaneundertheprojectproperties .2k3, inordertobuidprjectsusingopencvtherequiredlibariesandddirectivesinditivesincludededintheprojectsproopeties,configuringmsvs selectttheaddincledicrectives ,2k3,select tthe additional dependencies ,TestingMSVS.net2k3, nowthattheenonminstrondefingreconfingureditybeagoodatootestittomakesurethataprogramwillcorrectlbuiloudandrun . # include # include thiswillpopuasmallboxwith hello world as the text.* int main (int argc,char * * argv ) /declarefortheheightandwidthoftheimageintheight=322 intwidth=240; /speciythepointtoplacethertextcvpointpt=cv point (height/4,width/2 )/create an 8位,3 planeimageiplimage * HW=cvcreateimage /initializethefontCvFontfont; cvInitFont(、TestingMSVS.net2k3、OutputofProgram、OpenCV编码样式指南1、文件命名: cv和cvaux库文件的命名必须遵循以下规则:所有cv库文件名的c头文件的扩展名为. h。纯c头文件的扩展名为. hpp,文件扩展名为. cpp,与POSIX兼容,因此文件名为小写,14、OpenCV编码样式指南、2和文件结构文件为BSD兼容许可证声明由于列最多可包含90个字元,且标签不会缩排为4个空格,因此标签必须使用保护巨集,以1至4个空格取代的标头档案才能包含重复的档案。 混合C/C接口头文件在externC )中包含c语言定义。 要使预编译头机制在VisualC中工作,源文件前必须包含precomp.h头文件。 15、OpenCV编码样式指南、3和命名约定OpenCV使用混合大小写样式来标识外部函数、数据类型和类方法。 宏都是大写字母,单词之间用下划线分隔。 如果所有外部或内部名称显示在多个文件中,则必须包含前缀。 外部函数使用前缀cv内部函数使用前缀Icv数据结构(c结构,枚举,联盟,类),使用前缀ICV_,16使用前缀cv外部或某些内部宏以及前缀CV_内部宏来实现OpenCV编码样式指南,4,函数接口设计:库函数接口元素包括: 功能名称返回参数类型参数顺序参数默认函数功能必须正确定义并紧凑。 函数必须容易地嵌入到使用其他OpenCV函数的不同处理过程中。 函数名称应该很简单,可以表示函数的功能。大多数函数名称格式: cv,17,18,ASimpleOpenCVProgram,1.# include2. # include3. # include4. int main (int argc,char*argv)5.CvPointcenter; 6.doublescale=-3; 7.IplImage*image=argc=2? cvLoadImage(argv1):0; 8.if (! 图像) return-19. center=cv point (图像宽度/2,图像高度/2) 10.for (inti=0; iheight; i )11.for(intj=0; jwidth; j ) 12.doubleledx=(double ) (j-center.x )/center.x; 13 .双精度=(双精度) (I-center.y )/center.y; 14 .双精度=exp (dx * dxdy * dy ) * scale ) 15.uchar * ptr=、基本数据结构点: CvPoint、CvPoint2D32f、CvPoint3D32f矩形框大小: CvSize、 CvSize2D32f矩阵: CvRect可以包含1到4个数值的阵列: CvScalar定义迭代算法的结束规则: CvTermCriteria矩阵: CvMat、CvMatND、 CvSparseMatIPL图像头: IplImage定义不确定的排列: CvArr (仅限函数参数)、19、点数据结构、CvPoint二维坐标系中的点、类型为整数typedefstructCvPointintx; /*X坐标,通常以0为基点*/inty; /*y坐标,通常以0为基点*/CvPoint; /*构造函数*/inlineCvPointcvPoint(intx, inty )从CvPoint3D32f类型到*/inlinecvpointcvpointfrom 32 f (cv point2d 32 f point ) cv point2d 32 f :二维坐标点,类型到浮点CvPoint3D32f维坐标点,类型到浮点,20,20 /*矩形宽度*/intheight; /*矩形的高度*/CvSize; /*构造函数*/inlineCvSizecvSize(intwidth,intheight) CvSize2D32f,21、矩形框的数据结构、CvRect矩形框的偏移和大小typedefstructCvRectintx; /*方形最左边的x-坐标*/inty; /*方形顶角或底角的y-坐标*/intwidth; /*宽度*/intheight; /*高*/CvRect; /*构造函数*/inlineCvRectcvRect(intx,inty,intwidth,intheight )、22、矩阵数据结构、CvMat二维矩阵typedefstructCvMatinttype; /*CvMat徽标、元素类型和标记*/intstep; /*以字节为单位的原始数据长度*/introws; /*行数*/intcols; /*列数*/int*refcount; /*数据参照数*/unionuchar*ptr; 短* s; int*i; 浮点* fl; double*db; data; /*data指针*/.23,矩阵数据结构,CvMatND :多维,多通道密集阵列CvSparseMat :多维,多通道稀疏阵列CvArr :不确定阵列,24,图像头数据,IplImage:IPL图像头,25,图像头数据,iplimage:iplimage /*IplImage大小*/intID; /*版本(=0)*/intnChannels; /*大多数OPENCV函数支持1、2、3或4个通道*/intalphaChannel。在OPENCV中忽略*/intdepth; /*像素的比特深度:IPL_DEPTH_8U、IPL_DEPTH_8S、IPL_DEPTH_16U、IPL_DEPTH_16S、IPL_DEPTH_32S和IPL_DEPTH_32FandIPL_DEPTH_64F分别为*/charcolormormon charchannelSeq4; 在OpenCV中忽略*/intdataOrder; /*0-交叉存取色彩色版,1-分割色彩色版. cvCreateImage只能建立交叉存取影像*/int origin/*0-顶端-左侧结构,1-底部-左侧结构(BMP样式) */intalign; /*图像行阵列(4or8).OpenCV使用宽步骤而不是*/,26,intwidth。 /*图像高像素数*/struct_IplROI*roi; /*影像感兴趣的区域。如果此值不为空,则只处理该区域*/struct_IplImage*maskROI; OpenCV必须设置为NULL*/void*imageId以上*/struct_IplTileInfo*tileInfo; /*同上*/intimageSize; /*图像数据大小、单位字节*/char *图像数据; /*排列的图像数据*/intwidthStep; /*图像行的大小。 以字节为单位*/intBorderMode4; intBorderConst4; /*忽略极限退出模式*/char*imageDataOrigin; /*指针指向不同的图像数据结构是用于修改图像存储器分配的*/IplImage,27、图像头数据和IplImage结构来自智能处理程序库。 OpenCV仅支持其中一个子集: alpha信道。 在OpenCV中被忽略。 OpenCV会忽略colorModel和channelSeq。 dataOrder必须是IPL_DATA_ORDER_PIXEL (色通道或交叉访问),然而平面图像的选定通道可以像COI (感兴趣的通道)被设置一样来处理。 OpenCV忽略对齐,并在widthStep中访问后续图像行。 不支持maskROI。 处理MASK的函数把他作为分离的参数。 MASK在OpenCV上是8位,而在IPL上是1位。不支持tileInfo。 不支持BorderMode和BorderConst。 OpenCV处理ROI的要求不同。 原图像和对象图像的尺寸或者ROI的尺寸必须正确地一致。 28、基本OpenCV操作、矩阵的使用和操作GUI命令图像的使用和操作、矩阵的使用和操作(1)、矩阵的创建matcvmat*cvcreatemat(introws、intcols、inttype ); rows矩阵行数。 cols矩阵的列数。 type矩阵元素类型。 通常以CV_(S|U|F)C的形式记述。 例如:CV_8UC1表示8比特无编码单信道矩阵,而CV_32SC2表示带32比特编码的双信道矩阵。 函数cvCreateMat将标题和下面的数据分配给新矩阵,并返回指向新创建的矩阵的指针。 行列按行记忆。 所有行以4字节对齐。 删除矩阵releasematvoidcvreleasemat (CVM rat * * mat )例如CVM rat * m=cvcreatemat (4,4,CV_32FC1) cvReleaseMat (,30,矩阵的使用和操作(2),复制矩阵clonematcvmat * cvclon 例如,CVM rat * m1=cvcreatemat (4,4,CV_32FC1) CvMat*M2; m2=初始化cvclonemat (m1)矩阵的方法1 :在1:cvmrat中,双精度lea = 1,2,3,4,5,6,7,8,9,10,11,12 ; cvmtatma=CVM tat (3,4,CV_64FC1,a )方法使用cvCreateMatHeader初始化CvMatMa的cvInitMatHeader (,31,矩阵的使用和操作(3),访问矩阵元素(1)使用cvmSet(M,I,j,2 ), 直接访问/SetM(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海北藏族自治州中石油2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 丽水市中储粮2025秋招笔试粮食政策与企业文化50题速记
- 长春市中储粮2025秋招财务资产岗高频笔试题库含答案
- 榆林市中储粮2025秋招基建工程岗高频笔试题库含答案
- 宁夏地区中储粮2025秋招面试专业追问题库基建工程岗
- 中国移动东莞市2025秋招半结构化面试模拟30问及答案
- 中国广电许昌市2025秋招笔试行测题库及答案网络优化与维护类
- 张掖市中石油2025秋招笔试模拟题含答案油田工程技术岗
- 国家能源宿迁市2025秋招交通运输类面试追问及参考回答
- 国家能源铜陵市2025秋招面试专业追问及参考交通运输岗位
- 货代销售技巧
- 广东省深圳实验中学2023-2024学年高二上学期期中数学模拟试题
- DB11∕T 583-2022 扣件式和碗扣式钢管脚手架安全选用技术规程
- 食材配送服务质量保证方案
- 《孕前和孕期保健》课件
- 肾病科糖尿病肾病(DKD)与终末期肾病血液透析(ESRD-HD)单病种质量控制统计表
- 空间设计教学大纲 室内设计教学大纲(五篇)
- 促单技巧及话术大全
- 车辆司法鉴定申请书
- 塑料原料名称中英文对照表
- 第十四杂环化合物
评论
0/150
提交评论