计算机视觉实验课课件_第1页
计算机视觉实验课课件_第2页
计算机视觉实验课课件_第3页
计算机视觉实验课课件_第4页
计算机视觉实验课课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OpenCV基础一、OpenCV概述

(1)OpenCV是Intel开源计算机视觉库。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。(2)OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。(3)OpenCV对非商业应用和商业应用都是免费的。(4)OpenCV为Intel®IntegratedPerformancePrimitives(IPP)提供了透明接口。二、VC6.0下OpenCV的安装与配置1、OpenCV的安装

下载OpenCV安装程序,将OpenCV安装到C:\ProgramFiles\OpenCV(此目录须与VC6.0的安装目录一致)。

注:在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bintothesystermPATH)。3、配置VisualC++6.0(1)全局设置菜单Tools->Options->Directories:先设置lib路径,选择Libraryfiles,在下方填入路径:C:\ProgramFiles\OpenCV\lib然后选择includefiles,在下方填入路径:

C:\ProgramFiles\OpenCV\cxcore\includeC:\ProgramFiles\OpenCV\cv\includeC:\ProgramFiles\OpenCV\cvaux\includeC:\ProgramFiles\OpenCV\ml\includeC:\ProgramFiles\OpenCV\otherlibs\highguiC:\ProgramFiles\OpenCV\otherlibs\cvcam\include然后选择sourcefiles,在下方填入路径:

C:\ProgramFiles\OpenCV\cv\srcC:\ProgramFiles\OpenCV\cxcore\srcC:\ProgramFiles\OpenCV\cvaux\srcC:\ProgramFiles\OpenCV\otherlibs\highguiC:\ProgramFiles\OpenCV\otherlibs\cvcam\src\windows

最后点击“ok”,完成设置。(2)项目设置

每创建一个将要使用OpenCV的VCProject,都需要给它指定需要的lib。菜单:Project->Settings,然后将Settingfor选为AllConfigurations,然后选择右边的link标签,在Object/librarymodules附加上:cxcore.libcv.libml.libcvaux.libhighgui.libcvcam.lib

2、CvPoint2D32fCvPoint2D32f定义基于二维浮点坐标上的点,其结构如下。TypedefstructCvPoint2D32f{ Floatx;/* x坐标,通常以0为基点 */ Floaty;/* y坐标,通常以0为基点 */}CvPoint2D32f;/* 构造函数 */inlineCvPoint2D32fcvPoint2D32f(doublex;doubley);/* 从CvPoint转换得来 */inlineCvPoint2D32fcvPointTo32f(CvPointpoint);3、CvSizeCvSize以像素为单位定义矩形框大小,其结构如下。TypedefstructCvSize{ intwidth;/* 矩形宽 */ intheight;/* 矩形高 */}CvSize;/* 构造函数 */inlineCvSizecvSize(intwidth;intheight);4、CvScalarCvScalar定义可存放1~4个数值的数组,其结构如下。TypedefstructCvScalar{ doubleval[4];}CvScalar;5、IplImage

IplImage定义IPL图像的头部,其结构如下。

由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构。IplImage结构来源于Intel的另外一个函数库IntelImageProcessingLibrary(IPL),该函数库主要是针对图像处理。

6、CvArr

不确定数组typedefvoidCvArr;CvArr*仅仅是被用于作函数的参数,用于指示函数接收的数组类型可以不止一个,如IplImage*,CvMat*甚至CvSeq*.最终的数组类型是在运行时通过分析数组头的前4个字节判断。四、常用函数1、图像载入函数函数cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、png、tiff等格式的图像。其函数原型如下:IplImage*cvLoadImage(constchar*,intiscolor);其中,是待载入图像的名称,包括图像的扩展名;iscolor是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定。3.图像显示函数

函数cvShowImage是在指定的窗口中显示图像,其函数原型如下:voidcvShowImage(constchar*name,constCvArr*image);其中,name是窗口名称,image是图像类型指针,一般是IplImage指针。4.图像保存函数

函数cvSaveImage以指定的文件名保存IplImage类型的指针变量,其函数原型如下:intcvSaveImage(constchar*,constCvArr*image);其中,是图像保存路径和名称,image是IplImage指针变量。5.图像销毁函数函数cvReleaseImage销毁已定义的IplImage指针变量,释放占用内存空间。其函数原型如下:voidcvReleaseImage(IplImage**image);其中,image为已定义的IplImage指针。6、cvCreateImage功能:函数cvCreateImage创建图像头并分配数据。格式:IplImage*cvCreateImage(CvSizesize,intdepth,intchannels);参数:size图像宽和高。depth像素位深度,可以是下面之一:IPL_DEPTH_8U无符号8位整型数。IPL_DEPTH_8S有符号8位整型数。IPL_DEPTH_16U 无符号16位整型数。IPL_DEPTH_16S 有符号16位整型数。IPL_DEPTH_32S 有符号32位整型数。IPL_DEPTH_32F 单精度浮点数。IPL_DEPTH_64F 双精度浮点数。Channels 每个元素(像素)的通道号,可以是1,2,3,4。通道时交叉存储的,例如,通常的彩色图像数据排列是b0 g0 r0 b1 g1 r1…虽然通常IPL图像格式可以存储非交叉存取的图像,并且OpenCV也能处理,但是此函数只能创建交叉存取图像。7、cvCircle功能:绘制圆形。

格式:voidcvCircle(CvArr*img,CvPointcenter,intradius,CvScalarcolor,intthickness=1,intlinetype=8,intshift=0);参数:img图像;center圆心坐标;radius圆形的半径color线条的颜色;thickness如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充。line_type线条的类型。shift圆心坐标点和半径值的小数点位数。说明:

函数cvCircle绘制或填充一个给定圆心和半径的圆。圆被感兴趣矩形所裁剪。若指定圆的颜色,可以使用宏CV_RGB(r,g,b)。五、边缘检测函数1、Sobel

功能:使用扩展Sobel算子计算一阶、二阶、三阶或混合图像差分。格式:voidcvSobel(constCvArr*src,CvArr*dst,intxorder,intyorder,intaperture_size=3);参数:src输入图像;dst输出图像;xorderx方向上的差分阶数;yordery方向上的差分阶数;aperture_size扩展Sobel核的大小,必须是1,3,5或7。除了尺寸为1,其它情况下,aperture_size×aperture_size可分离内核将用来计算差分。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论