下载  >  开发技术  >  C++  > opencv手册

opencv手册 评分

opencv手册 opencv手册 opencv手册 opencv手册 opencv手册
由于 Sobel算子结合了 Gaussian滑和微分,所以,其结果或多或少对噪声有一定的鲁棒性。通 常情况,函数调用采用如下参数( order-1, border-0, aperture size-3)或( morden-0, yodel-1 aperture size=3)来计算阶x-或y-方向的图像差介。第一种情况对应: 202 101 核。第二和对应 12-1 000 121 or 121 000 核的选则依赖于图像原点的定义( origin米自 IplImage结构的定义)由于该函数不进行图像尺 度变换,所以和输入图像(数组)相比,输出图像数组)的元素通常具有更大的绝对数值(译者注:即 象素的深度)。为防止溢出,当输入图像是8位的,要求输出图像是16位的。当然可以用函数函 数 cvConvertscale或 cvConvertscale abs转换为8位的。除了8-比特图像,函数也接受32-位浮 点数图像。所有输入和输出图像都必须是单通道的,并且具有相同的图像尺寸或者ROI尺寸。 Laplace 计算图像的 Laplacian变换 void cylaplace( const CvArrk src, CvArrk dst, int aperture size=3 弓rc 输入图像 dst 输出图像 Lper-uresi2e 核大小(与 ysObel中定义一样) 函数 cvLaplace计算输入图像的 Laplacian变换,方法是先用 sobel算了计算二阶 x-和y-差分,冉求和: dst (x, y)=dsrc/dx+dsrc/ dy 对 aperture size=1则给出最快计算结果,相当于对图像采用如下内核做卷积 010 1-11 010 类似于 ysObel函数,该函数也不作图像的尺度变换,所支持的输入、输出图像类型 的组合和 YsObel一致。 Canny 米用 Canny算法做边缘检测 void cv Canny( const CvArr* image, CvArr* edges, double threshold1 double threshold2, int aperture size=3 ⊥IQe 输入图像 edges 输出的边缘图像 threshold1 第一个阙值 threshold 第二个阈值 aperture size Sobel算子内核大小(见 ysObel) 函数cvan采用CANY算法发现输入图像的边缘而且在输出图像中标识这些边缘。 threshold1和 threshold2当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘 的初始分割。 PreCorner Detect 计算用角点拾测的征图, void cvPreCornerDetect( const CvArrk image, Cv Arr+ corners, int aperture size=3 Lnage 输入图像 保存候选角点的特征图 aperture.s12e Sobel算子的核人小(见 ysObel) 函数 cyPrecornerdetect计算函数D2+D、):-2DD其中D2表示一阶图像差分, D表示二阶图像差分。角点被认为是函数的局部最大值: //假设图像格式为浮点数 IplTmage* corners- cyClone Image(image); IplImage*k dilated corners cyClone Image(image) IplImage* corner mask = cvCreateImage( cvGetSize(image),8, 1) cvPreCornerDetect( image, corners, 3 cvDilate( corners, dilated corners, 0, 1) cvSubs( corners, di lated corners, corners cvCmpS( corners, 0, corner mask, CV CMP GE cvReleaseImage( &corners cvReleaseImage( &dilated corners CornerEigen ValsAndvecs 算图像块的符值和符新向量,用于点 void cv CornerEigen ValsAndVecs( const CvArr* image, Cv Arr* cigenvv int block size, int aperture size=3 lmage 输入图像. eigen 保存结果的数组。必须比输入图像宽6倍。 block 3-ZC 邻域大小(见讨论) aperture size Sobel算子的核尺寸(见 ysObel) 对每个象素,函数 cvCornerEigenValsAndVecs考虑 block size x block size大小 的邻域Sφ),然后在邻域上计算图像差分的相关矩阵 sum: (p(dI/dx) sums (dT/dx. T/dy) sums,(d I/dx*dI/dy) sums,(dI/ dy) 然后它计算矩阵的特征值和特征向量,并且按如下方式(λ1;A,x1,y,x,y2)存储 这些值到输出图像中,其中 λ,λ2-M的特征值,没有排序 (x1,y1)-特征向量,对λ (x,y2)-特征向量,对λ3 CornerMinEigen Val 计算梯度矩阵的最小符征值,用于房点捡测 void cvCornerMinEigenVal( const CvArr* image, CvArr* eigenval, int block size int aperture size=3 mage 输入图像. agena- 保存最小特征值的图像.与输入图像大小一致 b1ocκszC 邻域大小(见讨论 cv CornerEigen valsAndvecs). aperture slze Sobel算子的核尺寸(见 ysObel).当输入图像是浮点数格式时,该参数表示用来计算差分固 定的浮点滤波器的个数 函数 cVCornerMinEigenva1与 cvCornerEigenValsAndVecs类似,但是它仅仅计算和 冇储每个象素点差分相关矩阵的最小特征值,即前一个函数的min(λ1,A) Find cornersub Pix 精两角点位堂 void cvFindCorner SubPix( const. CvArr* image, CvPoint2D32f* corners int count. CvSize win. Cvsize zero zone CvTermCriteria criteria image 输入图像 COrners 输入角点的初始坐标,也存储精确的输出坐标 角点数目 搜索窗口的一半尺寸。如果wi=(5,5)那么使用5*2+1x5*2+1=11×11大小的搜索窗口 zero zone 死区的一半尺寸,死区为不对搜索区的中央位置做求和运算的区域。它是用米避免自相关矩 阵出现的某些可能的奇异性。当值为(1,1)表示没有死区。 crlterla 求角点的迭代过程的终止条件。即角点位置的确定,要么迭代数大于某个设定值,或者是精 确度达到某个设定值。 criteria可以是最大迭代数目,或者是设定的精确度,也可以是 它们的组合 函数 cyFindCornersubhix通过迭代来发现具有子象素精度的角点位置,或如图所示的 放射鞍点( radia.I saddle points)n (red) gradient direction Pi 子象素级角点定位的实玑是基于对向量正交性的观测而实现的,即从中央点q到其邻域 点p的向量和p点处的图像梯度正交(服从图像和测量噪声)。考以下的表达式 ei=DIi(q-pi) 其中,DI表小在q的一个邻域点p处的图像梯度,q的值通过最小化ε得剑。通过将e设为0, 可以建立系统方程如下: sum; (DIoiDIoi ).g- sum, (DI .DI ipi)=0 其中q的邻域(搜索窗)中的梯度被累加。调用第个梯度参数G和第二个梯度参数b, 得到: =G.b 该算法将搜索窗的中心设为新的中心q,然后迭代,直到找到低于某个阈值点的中心位 置。 Good FeaturesTo Track 预定图橡的据角点 void cvGoodFeaturesToTrack( const CvArr* image, CvArr* eig image, CvArr* temp 1mage, CvPoint2D32f* corners, int* corner count double quality level, double min distance const CvArra mask-=NULL lage 输入图像,8-位或浮点32-比特,单通道 19_mags 临时浮点32位图像,尺寸与输入图像一致 termp_ image 另外一个临时图像,格式与尺寸与 els mIllage一致 COrners 输出参数,检测到的角点 corner court 输出参数,检测到的角点数目 quality_ level 最大最小特征恒的乘法因子。定义可接受图像角点的最小质量因子。 min distance 限制因子。得到的角点的最小距离。使用 Euclidian距离 mask ROⅠ:感兴趣区域。函数在ROI中计算角点,如果mask为NULL,则选择整个图像。 函数 eyGoudFealuresTuTrack在图像中寻找具有大特征值的角点。该函数,首先用 cvCornerMinEigen Val计算输入图像的每一个象素点的最小特征值,并将结果存储到变 量 elg lmage中。然后进行非最大值抑制(仅保留3x3邻域中的局部最大值)。下一 步将最小特征值小于 quality level.dx( e1g illage(x,y)排除掉。最后,函数确保 所有发现的角点之间具有足够的距离,(最强的角点第一个保留,然后检查新的角点与 已有角点之间的距离大于 min distance) 采样、差值和几何变换 InitLinelterator 初始化线段送代器 int cvInitL ine Iterator( const CvArr* image, CvPoint pt1, CvPoint pt 2 CvLinelterator* line iterator, int connectivity=8 image 带采线段的输入图像 线段起始点 pt2 线段结束点 line iterator 指向线段迭代器状态结构的指针 onnectivity 被扫描线段的连通数,4或8. 函数 cvInitlinelterator初始化线段迭代器,并返回两点之间的象素点数目。两个点 必须在图像内。当迭代器初始化后,连接两点的光栅线上所有点,都可以连续通过调用 CV NEXT LINE, POINT来得到。线段上的点是使用4一连通或8一连通利用 Bresenham 算法逐点计算的。 例子:使用线段迭代器计算彩色线上象素值的和 CvScalar sum line pixels( IplImage k image, CvFoint ptl, CvPoint pt2) CyLinelterator iterator int blue sum =0, green sum =0, red sum =0 int count cvInitLineIterator( image, ptl, pt2, &iterator, 8) for( int i=0; i< count i++ )1 blue sum +=iterator ptr[o] green sum + iterator. ptrll] red sum + iterator ptr[2] CV NEXT LINE POINT (iterator) /x print the pixel coordinates: demonstrates how to calculate the coordinates * k/ int offset, X,y / assume that Roi is not set, otherwise need to take it into account offset= iterator ptr -(uchar*)(image->image Data y offset/image-widthStep x=(offset- y*image->widthStep)/(3*sizeof (uchar)/* size of pixel */) printf((%od, %d)\n", x, y return ev Scalar( blue sull, green sull, red suml Sampleline 荐光栅线读入缓冲网 int cvSampleLine( const CvArr* image, CvPoint ptl, CvPoint pt2 void* buffer, int connectivity=8 Image 带采线段的输入图像 t1 起点 t2 终点 buffer 存储线段点的缓存区,必须有足够大小来存储点max(pt2.x-p1.x+1 pt2y-pt1.y+1):8-连通情况下,或者pt2.xt1.XH+pt2.ypt1.y+1:4-连通 情况下 connectivity 线段的连通方式,4r8 函数 CvSampleline实现了线段迭代器的一个特殊应用。它读取由两点pt1和pt2确 定的线段上的所有图像点,包括终点,并存储到缓存中。 GetRectsubPix 从图像中提取黎素矩形,使了象素精度 void cvGetRectSubPix( const CvArrak srC, CvArr* dst, CvPoint2D32f center Src 输入图像 dst 提取的矩形 nter 提取的象素矩形的中心,浮点数坐标。中心必须位于图像内部 函数 cyGetRect subPix从图像src中提取矩形: dst(x, y)= src(x center.x-(width(dst)-1)*0.5, y center y (height(dst)-1)#0. 5) 其中非整数象素点坐标采用双线性差值提取。对多通道图像,每个通道独立单独完成提 取。尽管函数要求矩形的中心一定要在输入图像之中,但是有可能出现矩形的一部分超 出图像边界的情况,这时,该函数复制边界的模识( hunnish:即用于矩形相交的图像边 界线段的象素来代替矩形超越部分的象素)。 GetQuadrangleSubPix 提象素四边形,使子象素精度 void cvGetQuadrangleSubPix( const CvArrk src, CvArr* dst, const CvMat* Tap natrIx int fill outliers=o. CvScalar fill value=cvScalarAll(0)); 输入图像 dst 提取的四边形 map_ matrix 3×2变换矩阵[Ab(见讨论) fill outliers 该标志位指定是否对原始图像边界外面的象素点使用复制模式(fi1 outliers=0进行差 值或者将其没置为指定值( fill outliers-1)。 f111 valuc 对超出图像边界的矩形象素设定的值(当fi11 outliers=1时的情况) 数 cvGeLQuadranigleSubPix以子象素精度从图像src中提取四边形,使用子象素精 度,并且将结果存储于dst,计算公式是 dst(xtwidth(dst)/2, ytheight(dst)/2)= src( AuX+A12y+bl, AgX+ As+b2) w其中A和b均来自映射矩阵(译者注:A,b为几何形变参数) map matrix Au A12 b map matrix Ae Ac ba 其中在非整数坐标A·(x,y)+b的象素点值通过双线性变换得到。多通道图像的每一个 通道都单独计算. 例子:使用 CvGet QuadranglesubPix进行图像旋转 include c

...展开详情
所需积分/C币:10 上传时间:2018-01-25 资源大小:43.9MB
举报 举报 收藏 收藏
分享 分享

评论 下载该资源后可以进行评论 1

yu_xianguo 好吧,这只是一本《opencv函数手册》的扫描版,没有目录,很难索引啊。。感觉很鸡肋
2018-07-07
回复
OpenCV最新手册

OpenCV 最新版本的使用手册 2.7.4 版本

立即下载
Opencv中文手册资料

Opencv中文手册适合初学者,资料详细地介绍了Opencv的函数,和函数的具体含义,和具体用法。

立即下载
OpenCV_4.0.1官方离线手册

OpenCV_4.0.1的官方离线手册,断网状态可以查询,很好用。

立即下载
opencv使用手册(中文版)

  1、人机互动   2、物体识别   3、图象分割   4、人脸识别   5、动作识别   6、运动跟踪   7、机器人   为什么有OpenCV   计算机视觉市场巨大而且持续增长,且这方面没有标准API,目前的计算机视觉软件大概有以下三种:   1.研究代码(慢,不稳定,独立并与其他库不兼容)   2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)   3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)   这是目前的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。

立即下载
OPENCV函数手册(带目录)+OpenCV中文参考手册.zip

不知道为啥,下载分会逐渐升高,重新上传一遍,供大家使用。 OPENCV函数手册(带目录)+OpenCV中文参考手册.zip 中文参考手册目录: OpenCV概述 FAQ中文 CxCore中文参考手册 基础结构 数组操作 动态结构 绘图函数 数据保存和运行时类型信息 其它混合函数 错误处理和系统函数 机器学习中文参考手册 CvAux中文参考手册 Cv中文参考手册 图像处理 结构分析 运动分析与对象跟踪 模式识别 照相机定标和三维重建 HighGUI中文参考手册 HighGUI概述 简单图形界面 读取与保存图像 视频读写函数 实用函数与系统函数

立即下载
OPENCV中文手册

基础结构 • 数组操作 o 初始化 o 获取元素和数组子集 o 拷贝和填充 o 变换和置换 o 算术、逻辑和比较 o 统计 o 线性代数 o 数学函数 o 随机数生成 o 离散变换 • 动态结构 o 内存存储 o 序列 o 集合 o 图 o 树 ----------------- • 绘图函数 **************************************** o 典线和形状 o 文本 o 点集和轮廓 • 数据保存和运行时类型信息 樊臻韬 o 文件存储 o 写数据 o 读数据 o 运行时类型信息和通用函数 -----------

立即下载
OpenCV参考手册合集

包含OpenCV中文手册,英文手册,OpenGL编程与实例,对于想学习OPenCV的朋友还是很不错的

立即下载