OpenCv参考手册-Cv图像处理.pdf

上传人:b****2 文档编号:3216868 上传时间:2022-11-20 格式:PDF 页数:72 大小:822.21KB
下载 相关 举报
OpenCv参考手册-Cv图像处理.pdf_第1页
第1页 / 共72页
OpenCv参考手册-Cv图像处理.pdf_第2页
第2页 / 共72页
OpenCv参考手册-Cv图像处理.pdf_第3页
第3页 / 共72页
OpenCv参考手册-Cv图像处理.pdf_第4页
第4页 / 共72页
OpenCv参考手册-Cv图像处理.pdf_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

OpenCv参考手册-Cv图像处理.pdf

《OpenCv参考手册-Cv图像处理.pdf》由会员分享,可在线阅读,更多相关《OpenCv参考手册-Cv图像处理.pdf(72页珍藏版)》请在冰豆网上搜索。

OpenCv参考手册-Cv图像处理.pdf

CvCv图像处理图像处理WikipediaWikipedia,自由的百科全书,自由的百科全书注意:

本章描述图像处理和分析的一些函数。

大多数函数都是针对两维象素数组的,这里,我们称这些数组为“图像”,但是它们不一定非得是IplImage结构,也可以是CvMat或者CvMatND结构。

目录目录1梯度、边缘和角点o1.1Sobelo1.2Laplaceo1.3Cannyo1.4PreCornerDetecto1.5CornerEigenValsAndVecso1.6CornerMinEigenValo1.7CornerHarriso1.8FindCornerSubPixo1.9GoodFeaturesToTrack2采样、插值和几何变换o2.1InitLineIteratoro2.2SampleLineo2.3GetRectSubPixo2.4GetQuadrangleSubPixo2.5Resizeo2.6WarpAffineo2.7GetAffineTransformo2.82DRotationMatrixo2.9WarpPerspectiveo2.10WarpPerspectiveQMatrixo2.11GetPerspectiveTransformo2.12Remapo2.13LogPolar3形态学操作o3.1CreateStructuringElementExo3.2ReleaseStructuringElemento3.3Erodeo3.4Dilateo3.5MorphologyEx4滤波器与色彩空间变换o4.1Smootho4.2Filter2Do4.3CopyMakeBordero4.4Integralo4.5CvtColoro4.6Thresholdo4.7AdaptiveThreshold5金字塔及其应用o5.1PyrDowno5.2PyrUp6连接部件o6.1CvConnectedCompo6.2FloodFillo6.3FindContourso6.4StartFindContourso6.5FindNextContouro6.6SubstituteContouro6.7EndFindContourso6.8PyrSegmentationo6.9PyrMeanShiftFilteringo6.10Watershed7图像与轮廓矩o7.1Momentso7.2GetSpatialMomento7.3GetCentralMomento7.4GetNormalizedCentralMomento7.5GetHuMoments8特殊图像变换o8.1HoughLineso8.2HoughCircleso8.3DistTransformo8.4Inpaint9直方图o9.1CvHistogramo9.2CreateHisto9.3SetHistBinRangeso9.4ReleaseHisto9.5ClearHisto9.6MakeHistHeaderForArrayo9.7QueryHistValue_1Do9.8GetHistValue_1Do9.9GetMinMaxHistValueo9.10NormalizeHisto9.11ThreshHisto9.12CompareHisto9.13CopyHisto9.14CalcHisto9.15CalcBackProjecto9.16CalcBackProjectPatcho9.17CalcProbDensityo9.18EqualizeHist10匹配o10.1MatchTemplateo10.2MatchShapeso10.3CalcEMD2编辑梯度、边缘和角点梯度、边缘和角点编辑SobelSobel使用扩展Sobel算子计算一阶、二阶、三阶或混合图像差分voidcvSobel(constCvArr*src,CvArr*dst,intxorder,intyorder,intaperture_size=3);src输入图像.dst输出图像.xorderx方向上的差分阶数yordery方向上的差分阶数aperture_size扩展Sobel核的大小,必须是1,3,5或7。

除了尺寸为1,其它情况下,aperture_sizeaperture_size可分离内核将用来计算差分。

对aperture_size=1的情况,使用3x1或1x3内核(不进行高斯平滑操作)。

这里有一个特殊变量CV_SCHARR(=-1),对应3x3Scharr滤波器,可以给出比3x3Sobel滤波更精确的结果。

Scharr滤波器系数是:

对x-方向或矩阵转置后对y-方向。

函数cvSobel通过对图像用相应的内核进行卷积操作来计算图像差分:

由于Sobel算子结合了Gaussian平滑和微分,所以,其结果或多或少对噪声有一定的鲁棒性。

通常情况,函数调用采用如下参数(xorder=1,yorder=0,aperture_size=3)或(xorder=0,yorder=1,aperture_size=3)来计算一阶x-或y-方向的图像差分。

第一种情况对应:

核。

第二种对应:

或者核的选则依赖于图像原点的定义(origin来自IplImage结构的定义)。

由于该函数不进行图像尺度变换,所以和输入图像(数组)相比,输出图像(数组)的元素通常具有更大的绝对数值(译者注:

即像素的位深)。

为防止溢出,当输入图像是8位的,要求输出图像是16位的。

当然可以用函数cvConvertScale或cvConvertScaleAbs转换为8位的。

除了8-位图像,函数也接受32-位浮点数图像。

所有输入和输出图像都必须是单通道的,并且具有相同的图像尺寸或者ROI尺寸。

编辑LaplaceLaplace计算图像的Laplacian变换voidcvLaplace(constCvArr*src,CvArr*dst,intaperture_size=3);src输入图像.dst输出图像.aperture_size核大小(与cvSobel中定义一样).函数cvLaplace计算输入图像的Laplacian变换,方法是先用sobel算子计算二阶x-和y-差分,再求和:

对aperture_size=1则给出最快计算结果,相当于对图像采用如下内核做卷积:

类似于cvSobel函数,该函数也不作图像的尺度变换,所支持的输入、输出图像类型的组合和cvSobel一致。

编辑CannyCanny采用Canny算法做边缘检测voidcvCanny(constCvArr*image,CvArr*edges,doublethreshold1,doublethreshold2,intaperture_size=3);image单通道输入图像.edges单通道存储边缘的输出图像threshold1第一个阈值threshold2第二个阈值aperture_sizeSobel算子内核大小(见cvSobel).函数cvCanny采用CANNY算法发现输入图像的边缘而且在输出图像中标识这些边缘。

threshold1和threshold2当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。

注意事项:

cvCanny只接受单通道图像作为输入。

外部链接:

经典的canny自调整阈值算法的一个opencv的实现见在OpenCV中自适应确定canny算法的分割门限编辑PreCornerDetectPreCornerDetect计算用于角点检测的特征图,voidcvPreCornerDetect(constCvArr*image,CvArr*corners,intaperture_size=3);image输入图像.corners保存候选角点的特征图aperture_sizeSobel算子的核大小(见cvSobel).函数cvPreCornerDetect计算函数其中表示一阶图像差分,表示二阶图像差分。

角点被认为是函数的局部最大值:

/假设图像格式为浮点数IplImage*corners=cvCloneImage(image);IplImage*dilated_corners=cvCloneImage(image);IplImage*corner_mask=cvCreateImage(cvGetSize(image),8,1);cvPreCornerDetect(image,corners,3);cvDilate(corners,dilated_corners,0,1);cvSubS(corners,dilated_corners,corners);cvCmpS(corners,0,corner_mask,CV_CMP_GE);cvReleaseImage(&corners);cvReleaseImage(&dilated_corners);编辑CornerEigenValsAndVecsCornerEigenValsAndVecs计算图像块的特征值和特征向量,用于角点检测voidcvCornerEigenValsAndVecs(constCvArr*image,CvArr*eigenvv,intblock_size,intaperture_size=3);image输入图像.eigenvv保存结果的数组。

必须比输入图像宽6倍。

block_size邻域大小(见讨论).aperture_sizeSobel算子的核尺寸(见cvSobel).对每个象素,函数cvCornerEigenValsAndVecs考虑block_sizeblock_size大小的邻域S(p),然后在邻域上计算图像差分的相关矩阵:

然后它计算矩阵的特征值和特征向量,并且按如下方式(1,2,x1,y1,x2,y2)存储这些值到输出图像中,其中1,2-M的特征值,没有排序(x1,y1)-特征向量,对1(x2,y2)-特征向量,对2编辑CornerMinEigenValCornerMinEigenVal计算梯度矩阵的最小特征值,用于角点检测voidcvCornerMinEigenVal(constCvArr*image,CvArr*eigenval,intblock_size,intaperture_size=3);image输入图像.eigenval保存最小特征值的图像.与输入图像大小一致block_size邻域大小(见讨论cvCornerEigenValsAndVecs).aperture_sizeSobel算子的核尺寸(见cvSobel).当输入图像是浮点数格式时,该参数表示用来计算差分固定的浮点滤波器的个数.函数cvCornerMinEigenVal与cvCornerEigenValsAndVecs类似,但是它仅仅计算和存储每个象素点差分相关矩阵的最小特征值,即前一个函数的min(1,2)编辑CornerHarrisCornerHarris哈里斯(Harris)角点检测voidcvCornerHar

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1