EmguCV类(CvInvoke_Class) 方法整理
更新时间:2024-05-30 21:38:01 阅读量: 综合文库 文档下载
- EmguCv字符识别推荐度:
- 相关推荐
方法—相机标定
CalibrationMatrixValues 使用计算的相机校准矩阵,像素中的图像帧分辨率和物理孔径大小来计算各种有用的相机(传感器/透镜)特性 棋盘格角点的绘制(摄像机标定) 找到棋盘角的亚像素精度的准确位置 尝试确定输入图像是否是棋盘图案的视图,并定位标定板内角点 找到圆圈网格中心 DrawChessboardCorners Find4QuadCornerSubpix FindChessboardCorners FindCirclesGrid(Image
计算每个摄像机的旋转矩阵(虚拟地) 使两个摄像机图像平面处于相同的平面。 在不知道摄像头的固有参数和它们在空间的相对位置计算校正变换 方法—内外方位元素确定
CalibrateCamera(IInputArray, IInputArray, Size, 估计每个视图的照相机固有参数和外IInputOutputArray, IInputOutputArray, 部参数 IOutputArray, IOutputArray, CalibType, MCvTermCriteria) CalibrateCamera(MCvPoint3D32f[][],PointF[][], 估计每个视图的照相机固有参数和外Size, IInputOutputArray, IInputOutputArray, 部参数 CalibType, MCvTermCriteria,Mat[],Mat[]) SolvePnPRansac StereoRectify 利用Ransac方法利用点对求解相机姿态 Undistort UndistortPoints 计算每个摄像机的旋转矩阵(虚拟地) 使两个摄像机图像平面处于相同的平面。 转换图像以补偿径向和切向透镜失真 与cvInitUndistortRectifyMap相似但也不同,相似的内容是他们都可用于校正镜头失真和透视变换。不同的是函数cvInitUndistortRectifyMap实际上执行的是反向转换以初始化地图,而这个函数执行的是正向变换。
方法—数组、矩阵运算
Add AddWeighted Add AddWeighted BitwiseAnd 数组相加 数组权重相加 数组相加 数组权重相加 计算两个数组的每元素的逐位逻辑连接:dst(I)= src1(I)&src2(I)if mask(I)!= 0。所有数组必须具有相同的类型(除了掩膜)和大小 计算两数组差值的绝对值 对输入数据或其选中的ROI求和并平方(Adds the input src or its selected region, raised to power 2, to the accumulator sqsum) 计算源数据的加权平均和,使得acc变为帧序列的运行平均值(Calculates weighted sum of input src and the accumulator acc so that acc becomes a running average of frame sequence: acc(x,y)=(1-alpha) * acc(x,y) + alpha * image(x,y) if mask(x,y)!=0 where alpha regulates update speed (how fast dst(I)=src1(I) & src2(I) AbsDiff AccumulateSquare AccumulateWeighted accumulator forgets about previous frames). BitwiseOr 计算两个数组的每元素逐位分离(Calculates per-element bit-wise disjunction of two arrays) 计算一组向量的协方差矩阵 清除(设置为零)密集数组的特定元素或删除稀疏数组的元素。 如果买没有元素,该函数不运行 为数组的特定元素分配新值 返回方阵矩阵的行列式。 计算对称矩阵的特征值和特征向量 计算输入数组的每个元素的指数 使用四种方法之一计算基本矩阵,如果没有找到矩阵,则返回找到的基本矩阵(1或3)和0的数量 执行广义矩阵乘法 dst(I)=src1(I)|src2(I) CalcCovarMatrix cvClearND cvSet2D Determinant Eigen Exp FindFundamentalMat dst(I)= exp(src(I)) Gemm dst = alpha*op(src1)*op(src2) + beta*op(src3), where op(X) is X or XT dst(I)=max(src1(I), src2(I)) dst(I)= min(src1(I),src2(I)) Flip Invert InvertAffineTransform LUT Max Min MinMaxIdx MinMaxLoc 以不同的3种方式翻转数组(行和列索引为0) 反转矩阵src1并将结果存储在src2中 反转仿射变换 使用查找表中的值填充目标数组 计算两个数组的每个元素最大值赋给新数组 计算两个数组的每元素最小值,赋值到新数组中 查找数组中全局的最大值最小值 找到最小和最大元素值及其位置。如果 阵列有多个通道,则必须为IplImage,并设置COI。 计算原始数据及其转置的乘积(Calculates the product of src and its transposition. The function evaluates dst=scale(src-delta)*(src-delta)^T if order=0, and dst=scale(src-delta)^T*(src-delta) otherwise.) 返回计算的范数。多通道阵列被视为单通道,即所有通道的结果相加。 MulTransposed Norm(IInputArray, NormType, IInputArray) Norm(IInputArray, IInputOutputArray, NormType, IInputArray) Normalize Randn(IInputOutputArray, IInputArray, IInputArray) Randn(IInputOutputArray, MCvScalar, MCvScalar) RandShuffle Randu(IInputOutputArray, IInputArray, IInputArray) Randu(IInputOutputArray, MCvScalar, MCvScalar) SetIdentity Sqrt Sum SVBackSubst SVDecomp Swap(Mat, Mat) Swap(UMat, UMat) Trace Transform 返回计算的范数。多通道阵列被视为单通道,即所有通道的结果相加。 规范化输入数组 用正态分布的随机数填充数组 用正态分布的随机数填充数组 将原数组(矩阵)打乱 返回均匀分布的随机数,填入数组或矩阵 返回均匀分布的随机数,填入数组或矩阵 初始化标度单位矩阵 为源数据的每个数组元素开方。多通道数据每个通道会被单独处理 对每个通道计算阵列元素的和S、 进行奇异值回代(Performs a singular value back substitution.) SVD分解,将矩阵A 分解为对角矩阵和两个正交矩阵的乘积 交换两个矩阵 交换两个矩阵 返回矩阵对角线元素之和 Sc = sumI arr(I)c 对src数组的每个元素进行矩阵变换, 并将结果存储到dst中。源数组和目标数据应该有相同的深度、尺寸或ROI的尺寸。transmat 和 shiftvec应该是浮点型矩阵 转置矩阵src1,在复矩阵的情况下,不进行复共轭。 dst(i,j)= src(j,i) Transpose
方法—头文件
cvGetCol cvGetCols cvGetDiag cvGetImage 返回头文件信息(header),对应输入数组的指定列 返回头文件信息,对应输入数组跨越的列数(col span) 返回头文件信息,对应输入数组的指定对角线 返回图像的头文件信息,输入数据类型可以是(matrix - CvMat*, or image - IplImage*) cvGetMat 返回输入矩阵的头文件信息,输入矩阵 可以是matrix - CvMat, image - IplImage 或 multi-dimensional dense array - CvMatND* cvGetRawData cvGetRow cvGetRows cvGetSubRect 以低级别信息填充输出变量。 返回头文件信息,对应于输入数组的指定行。 返回头文件信息,对应输入数组的指定行跨度。 返回头文件,对应于输入数组的指定矩形。换句话说,它允许用户将输入阵列的一部分视为独立阵列。通过还可提取ROI的子阵列。 cvInitImageHeader 初始化图像的头文件结构,指针指向由 用户指定,并返回指针。(Initializes the image header structure, pointer to which is passed by the user, and returns the pointer.) cvReleaseImage cvReleaseImageHeader cvReleaseMat cvReshape 释放头文件和图像数据(Releases the header and the image data.) 释放头文件 参照计数器递减矩阵数据,并释放头文件 初始化CvMat头文件,使其指向与原始数组相同的数据,但形状不同,数量的通道不同,行列数不同 将用户数据分配给矩阵头文件 为新矩阵和底层数据分配头信息(header),并返回一个指向创建的矩阵的指针。 矩阵逐行存储。 所有行都对齐4个字节。 创建头文件并分配数据 cvSetData cvCreateMat cvCreateImage
方法—图像处理准备
BitwiseNot CheckRange 反转 检查每个数组元素既不是NaN也不是+ - inf,检查将在多个通道上单独进行,该功能还能检查每个值是否在最小值和最大值之间。 对比有限自适应直方图均衡(CLAHE) 比较两个数组的相应元素并填充目标掩码数组:dst(I)= src1(I)op src2(I) 返回数组中非零元素的数量 检查每个数组元素既不是NaN也不是 CLAHE Compare CountNonZero cvCheckArr
Infinity。 如果设置了CV_CHECK_RANGE,它还会检查每个元素是否大于或等于minVal并小于maxVal cvCreateSparseMat cvGetSize CvtColor(IInputArray, IOutputArray, ColorConversion, Int32) 分配一个多维系数矩阵的阵列。初始该矩阵不含任何元素 返回输入矩阵或图像的行列数 CvtColor(IInputArray, IOutputArray, Type, Type) EqualizeHist ExtractChannel GetDepthType(Type) GetDepthType(DepthType) Inpaint InRange MixChannels 将输入图像从一个颜色空间转换为另一个。该函数忽略IplImage头的colorModel和channelSeq字段,因此应该正确指定源图像颜色空间(包括RGB空间的通道顺序,例如BGR表示B0的24位格式G0 R0 B1 G1 R1 ...布局,而RGB表示具有R0 G0 B0 R1 G1 B1 ...布局的24位格式) 将输入图像从一个颜色空间转换为另一个。 直方图均衡化 从图像中提取特定通道 获取相应的opencv深度类型 获取相应的深度类型 使用补绘来恢复该图像定义位置像素的亮度 对输入数组的每个元素执行范围检查 把输入的矩阵(或矩阵数组)的某些通道拆分复制给对应的输出矩阵(或矩阵数组)的某些通道中,可用于更改通道的顺序,添加/删除Alpha通道,提取或插入单个通道或多个通道等。 将图像src调整到指定大小 调整图像大小,使其适合给定的框架 Resize ResizeForFrame Split 将多通道阵列划分为单独的单通道阵列。有两种模式可用于操作。如果原始阵列具有N个通道,那且前N个目标通道不是IntPtr.Zero,则它们都从源阵列中提取,若前N个通道中仅有一个不是IntPtr.Zero,则该特定通道为提取,否则会出现错误
方法—常规方法
BoundingRectangle Accumulate ApplyColorMap BoxPoints(RotatedRect) 返回右上角点 整幅图像或选择区域累加 将颜色应用于图像 计算RotatedRect节点(RotatedRect该 类表示平面上的旋转矩形,有三个属性:矩形中心点(质心)、边长(长和宽)、旋转角度) BoxPoints(RotatedRect, IOutputArray) CalcHist CalcMotionGradient CompareHist ConvertMaps ConvertPointsFromHomogeneous ConvertPointsToHomogeneous ConvertScaleAbs 计算RotatedRect节点数组 计算图像的直方图 计算x,y方向的导数 比较两直方图 转换图像的表达方法 将点从齐性空间转换为欧氏空间 将点从欧式空间转换为齐性空间 与cvCvtScale类似,但它存储转换结果的绝对值。使用线性变换转换输入数组元素成8位无符号整型 ConvexHull(PointF[], Boolean) ConvexHull(IInputArray, IOutputArray, Boolean, Boolean) ConvexityDefects CopyMakeBorder 使用Sklansky算法找到2D点集的凸包 使用Sklansky算法找到2D点集的凸包。 找出轮廓的凸度缺陷 链接 将源2D数组复制到目标数组的内部, 并在复制的区域周围形成指定类型的边框。 当需要模拟与嵌入到特定算法实现中的边框类型不同的边框类型时,该功能非常有用。 将CvMat、Ipiimage、CvMatND转换为 矩阵 它将一个数组复制到另一个数组,首先dst(I)=src(I)*scale + 执行缩放(可选)然后转换类型(可选),(shift,shift,...) 多通道阵列每个通道被单独处理。 将所选元素从输入数组复制到输出数组。如果任何传递的数组是IplImage类型,则使用其ROI和COI字段。两个数组必须具有相同的类型,相同的维数和相同的大小。 dst(I)= src(I)if mask(I)!= 0 CvArrToMat cvConvertScale cvCopy cvGetSpatialMoment 获取空间矩,在图像矩定义为:M_ {x_order,y_order} = sum_ {x,y}(I(x,y)* x ^ {x_order} * y ^ {y_order})其中I (x,y)是像素的亮度(x,y)。(Retrieves the spatial moment, which in case of image moments is defined as: M_{x_order,y_order}=sum_{x,y}(I(x,y) * x^{x_order} * y^{y_order}) where I(x,y) is the intensity of the pixel (x, y).) 检索归一化的中心矩,在图像矩定义为:eta_ {x_order,y_order} = mu_ {x_order,y_order} / M00 ^ {(y_order + x_order)/ 2 + 1}的情况下,其中mu_ cvGetNormalizedCentralMoment {x_order,y_order}是中心时刻(Retrieves normalized central moment, which in case of image moments is defined as: eta_{x_order,y_order}=mu_{x_order,y_order} / M00^{(y_order+x_order)/2+1}, where mu_{x_order,y_order} is the central moment) 返回单通道数组的特定元素。如果阵列 有多个通道,则会引发运行时错误。 返回单通道数组的特定元素。如果阵列 有多个通道,则会引发运行时错误。 cvGetReal3D cvGetImageCOI cvGetImageROI cvGetCentralMoment 返回单通道数组的特定元素。如果阵列有多个通道,则会引发运行时错误。 返回图像感兴趣通道(若所有通道已选返回0) 返回图像感兴趣通道(若所有通道已选返回0) 检索中心矩?(moment),在图像中定义为mu_{x_order,y_order} =sum_{x,y}(I(x,y)*(x-x_c)^{x_order} * (y-y_c)^{y_order}) 返回图像感兴趣通道(若所有通道已选返回0) 返回图像感兴趣通道(若所有通道已选返回0) 初始化已分配的CvMat结构。它可以用于使用OpenCV矩阵函数处理原始数据。 初始化由用户分配的CvMatND结构 查找包含两个输入矩形的最小面积矩形 以如下方式初始化矩阵:arr(i,j)=(end-start)*(i*cols(arr)+j)/(cols(arr)*rows(arr)) 释放稀疏数组,并在退出时清除数组指针 释放图像ROI。之后整幅图像为被选中状态 应用一种线迭代器。读取位于pt1和pt2之间的所有图像点(包括终点)并将它们存储到缓冲区 是设置图像的COI的函数,coi为0时表示选择所有通道,1表示第一个通道,2表示第二个等等。 其中x_c = M10 / M00,y_c = M01 / M00 - 重心的坐标 cvGetReal1D cvGetReal2D cvGetImageCOI cvGetImageROI cvInitMatHeader cvInitMatNDHeader cvMaxRect cvRange cvReleaseSparseMat cvResetImageROI cvSampleLine cvSetImageCOI cvSetImageROI cvSetReal1D cvSetReal2D cvSetReal3D cvSetRealND Decolor EMD 基于给定的矩形设置图像的ROI 将新值分配给单通道阵列的特定元素 将新值分配给单通道阵列的特定元素 将新值分配给单通道阵列的特定元素 将新值分配给单通道阵列的特定元素 将彩色图像转换为灰度图像。 用来比较两幅图像相似性。EMD的思想是求得从一幅图像转化为另一幅图像的代价 对图像应用任意线性滤波器,支持就地操作 计算透视变换矩阵(单应矩阵)。 Filter2D FindHomography(PointF[],PointF[], IOutputArray, HomographyMethod, Double, IOutputArray) FindHomography(IInputArray, IInputArray, IOutputArray, HomographyMethod, Double, IOutputArray) FindNonZero GetPerspectiveTransform(PointF[],PointF[]) 计算透视变换矩阵(单应矩阵)。 查找非零像素的位置 计算透视变换的矩阵 (t_i x'_i,t_i y'_i,t_i)^T=map_matrix (x_i,y_i,1)T where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..3. (x'_i,y'_i)^T=map_matrix (x_i,y_i,1)^T where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..2 GetPerspectiveTransform(IInputArray, IInputArray) GetAffineTransform(PointF[],PointF[]) 计算透视变换的矩阵 计算仿射变换的矩阵 GetAffineTransform(IInputArray, IOutputArray) GetRectSubPix GetRotationMatrix2D GetStructuringElement GetTextSize GroupRectangles(VectorOfRect, VectorOfInt, Int32, Double) GroupRectangles(VectorOfRect, VectorOfInt, VectorOfDouble, Int32, Double) GroupRectangles(VectorOfRect, Int32, Double, VectorOfInt, VectorOfDouble) GroupRectanglesMeanshift 计算仿射变换的矩阵 从原图像中提取一个矩形区域 计算旋转矩阵 获取常用的结构元素的形状 计算文本字符串的宽度和高度 目标级联矩形的分组函数 目标级联矩形的分组函数 目标级联矩形的分组函数 目标级联矩形的分组函数 HConcat IlluminationChange 水平连接两个图像 将适当的非线性变换应用于选择的渐变场,然后与泊松解算器进行积分 (去除图像中的高光) 解码存储在缓冲区中的图像 解码存储在缓冲区中的图像 编码图像并将结果存储为字节向量 从指定的文件加载图像,并将指针返回到加载的图像。目前支持以下文件格式:Windows位图 - BMP,DIB; JPEG文件 - JPEG,JPG,JPE; 便携式网络图形 - PNG; 便携式图像格式 - PBM,PGM,PPM; 太阳光栅 - SR,RAS; TIFF文件 - TIFF,TIF; OpenEXR HDR图像 - EXR; JPEG 2000图像 - jp2 将多页图像从指定的文件加载到Mat对象的向量中 在指定窗口中显示图像 Imdecode(Byte[], ImreadModes, Mat) Imdecode(IInputArray, ImreadModes, Mat) Imencode Imread Imreadmulti Imshow Imwrite InsertChannel Integral Merge 将图像保存到指定的文件。根据文件扩 展名选择图像格式。只能使用此功能保存8位单通道或3通道(“BGR”通道)图像 将特定通道插入图像 计算源图像的积分图像 功能与CvSplit相反。如果目标阵列具有N个通道,那么如果前N个输入通道不是IntPtr.Zero,则它们都被复制到目标阵列,否则该特定通道是复制到目标数组中会引起错误。其他源通道(超出前N个)必须始终为IntPtr.Zero。 计算每个通道的数组元素的平均值,每个通道会被单独计算 Mean PCACompute(IInputArray,IInputOutputArray,对提供的数据集进行主成分分析 IOutputArray,Double) PCACompute(IInputArray,IInputOutputArray,对提供的数据集进行主成分分析 IOutputArray,Int32) PerspectiveTransform(PointF [],IInputArray) 以如下方式转换源数据中的每个元素: (x, y) -> (x'/w, y'/w),其中(x', y', w') = mat3x3 * (x, y, 1) and w = w' if w'!=0, inf otherwise PerspectiveTransform(IInputArray,IOutputArray,IInputArray) 以如下方式转换源数据(将其视为2D 或3D矢量)的每一个元素:(x, y, z) -> (x'/w, y'/w, z'/w) or (x, y) -> (x'/w, y'/w), 其中 (x', y', z', w') = mat4x4 * (x, y, z, 1) or (x', y', w') = mat3x3 * (x, y, 1) and w = w' if w'!=0, inf otherwise
PolarToCart PSNR RawDataToBitmap Reduce 计算x坐标,y坐标或每个矢量梯度 计算图像的PSNR(峰值信噪比),以评价图像质量 将原始数据转换为位图 Remap Repeat 通过将矩阵行/列作为一组1维向量来 处理向量,并对向量执行指定的操作,即将矩阵减少为向量。 就是把一幅图像中某位置的像素放置到另一个图片指定位置,即重映射 以源数组填充目标数组,目标数组有可能比源数组大 dst(i,j)= src(i mod rows(src),j mod cols(src)) WarpPerspective WarpAffine VConcat
将透视变换应用于图像(也作投影映射,即将图片投影到一个新的视平面) 对图像应用放射变换 垂直连接两个图像(可用于扩展矩阵或拼接) 方法—灰度值运算
Log Pow 计算输入数组的每个元素的绝对值的自然对数 将输入数组的每个元素提升为dst(I)=src(I)p, if p is integer dst(I)=abs(src(I))p, otherwise 叠加两幅图像或他们的ROI 对两个图像按位进行”异”处理 计算阵列元素的平均值和标准偏差 为每个通道独立地计算阵列元素的平均值和标准偏差 计算两个数组的每个元素乘积。所有数组必须具有相同的类型和相同的大小(或ROI大小) 将一个数组除以另一个数组 从一个数组中减去另一个数组,如果掩膜不为0所有数组必须具有相同的类型 dst(I)=src(I)p, if p is integer dst(I)=abs(src(I))p, otherwise dst(I)=src1(I)^src2(I) dst(I)= scale * src1(I)* src2(I) dst(I)= scale * src1(I)/ src2(I) dst(I)= src1(I)-src2(I) AccumulateProduct BitwiseXor MeanStdDev(IInputArray, IOutputArray, IOutputArray, IInputArray) MeanStdDev(IInputArray, MCvScalar, MCvScalar, IInputArray) Multiply Divide Subtract
方法—图像平滑
Blur 使用归一化盒式滤波平滑图像(均值滤波) 链接 使用盒式滤波模糊图像 应用双边滤波 原始对偶算法是一种用于求解特殊类型变分问题的算法(即找到最小化某些功能的函数)。特别是对于图像去噪,可以被看作是变分问题,所以原始对偶算法可以用于执行去噪。 BoxFilter BilateralFilter DenoiseTVL1 EdgePreservingFilter 保边滤波器(双边滤波器、引导滤波器、 加权最小二乘法滤波器为比较广为人知的保边滤波器) 使用非局部平均去噪算法进行图像去噪,并多次计算进行优化 使用非局部平均去噪算法(可用于彩色图像)执行图像去噪 滤除视差图中的小噪点(斑点) 使用高斯滤波器平滑图像 FastNlMeansDenoising FastNlMeansDenoisingColored FilterSpeckles GaussianBlur MeanShift MedianBlur PyrMeanShiftFiltering Stylization 均值漂移算法。一般是指一个迭代的步 骤,即先算出当前点的偏移均值,然后以此为新的起始点,继续移动,直到满足一定的结束条件,在聚类、图像平滑、分割、跟踪等方面有着广泛的应用。 中值滤波处理图像 使用均值漂移算法过滤图像 目的是生成绘画的效果,而不注重写实。保边去噪的滤波器是风格化的理想选择,因为它抽象区域的同时,保持或增强边缘特性 给定一个输入图像,滤波后的图像叠加与之对应梯度图像,增强了图像边缘信息,产生了像铅笔画一样的非真实绘制 通过仅在边缘位置保留梯度,在泊松集 成器之前清理所选区域的纹理,使其平滑。这里使用了Canny边缘探测器。 TextureFlattening
方法—图像锐化
Canny 找到输入图像上的边缘,并使用Canny算法将其标记在输出图像边缘。 threshold1和threshold2中的最小值用于边缘连接,最大值用以找到强边缘的 初始段。 CornerHarris DetailEnhance Laplacian 在图像上运行哈里斯边缘检测器 该过滤器增强特定图像的细节。 通过求和使用Sobel算子计算的二阶x和y-导数来计算源图像的拉普拉斯算子。指定aperture_size = 1将会等同于将图像与以下内核做卷积运算: | 0 1 0 | | 1 -4 1 | | 0 1 0 | 与cvSobel函数类似,处理结果不进行缩放,支持输入和输出格式的相同组合。 dst(x,y) = d2src/dx2 + d2src/dy2 Sobel Sobel算子结合了高斯平滑和微分,因 此其结果或多或少对噪声具有鲁棒性。大多数情况下,函数被调用(xorder = 1,yorder = 0,aperture_size = 3)或(xorder = 0,yorder = 1,aperture_size = 3)来计算第一个x或y图像导数。第一种情况对应于 | -1 0 1 | | -2 0 2 | | -1 0 1 | 内核和第二个对应 | -1 -2 -1 | | 0 0 0 | | 1 2 1 | 或 | 1 2 1 | | 0 0 0 | | -1 -2 -1 | 为了避免溢出,如果源图像是8byte,则该功能需要16byte目标图像。结果再使用cvConvertScale或cvConvertScaleAbs函数转换回8byte。除了8byte图像,该功能可以处理32位浮点图像。源图像和目标图像都必须是相同大小的单通道图像
方法—图像分割
AdaptiveThreshold GrabCut Threshold 灰度图像转二值图像 为每个像素计算阈值 对用户框选区域进行分割 设置阈值转2值图像或滤除具有太大 或太小值的像素 Watershed 实现分水岭算法对图像进行二值化。 它将一幅图像看成是一块由湖泊和山川组成的地形。 图像灰度值大的像素对应海拔高的山地, 灰度值低的像素对应于海拔低的盆地。Watershed分割是模拟湖水上涨并在湖泊相遇处筑坝的过程。一般水是从湖泊的最低处灌进去,最低点对应于图像的局部最低点。 但确定局部最低点的自动话算法得到的结果往往不尽如人意, 所以常常要手动指定marker点。 链接
方法—二值形态学运算
ConnectedComponents ConnectedComponentsWithStats CornerSubPix Dilate 计算二值图像标记的连接组件(可用于链接二值图 像的破碎部分) 计算二值图像标记的连接组件(可用于链接二值图 像的破碎部分) 迭代找到亚像素精确位置的角或放射鞍点(即角点 位置) 使用指定的结构元素来膨胀原图像,该结构元素决 定像素邻域的形状。该功能支持就地模式。膨胀可以应用多次(迭代)。若处理彩色图像,每个通道被独立地处理 计算图像中每个非零点距自己最近的零点的距离, 可用于用于细化字符的轮廓和查找物体质心。http://blog.csdn.net/dcrmg/article/details/52517991 绘制轮廓或填充轮廓 绘制一个简单或较粗的椭圆弧填充的椭圆形扇形。 用以分段线性逼近用于抗锯齿弧和粗弧。 绘制一个简单或较粗的椭圆弧填充的椭圆形扇形。 用以分段线性逼近用于抗锯齿弧和粗弧。 DistanceTransform DrawContours Ellipse(IInputOutputArray, RotatedRect, MCvScalar, Int32, LineType, Int32) Ellipse(IInputOutputArray, Point, Size, Double, Double, Double, MCvScalar, Int32, LineType, Int32) Erode 使用指定的结构元素来腐蚀源图像,该结构元素决定采用最小值的像素邻域的形状。该函数支持就地模式。腐蚀可以应用几次(迭代)次。在彩色图像的情况下,每个通道被独立地处理。 从二值图像中获取轮廓。参数设置见 http://blog.sina.com.cn/s/blog_891c7ae40101kvtr.html 从二值图像中获取轮廓作为轮廓树。指针dst=erode(src,element): dst(x,y)=min((x',y') in element)) src(x+x',y+y') FindContours FindContourTree firstContour由函数填充。该功能修改源图像内容 HoughLines HoughLinesP(IInputArray, Double, Double, Int32, Double, Double) HoughLinesP(IInputArray, IOutputArray, Double, Double, Int32, Double, Double) Line 使用标准霍夫变换找到二值图像中的线 使用概率霍夫变换找到二值图像中的线段 使用概率霍夫变换找到二值图像中的线段 在图像中绘制pt1和pt2点之间的线段。对于具有 整数坐标的非抗锯齿线,使用8连接或4连接的Bresenham算法。 求得包含点集最小面积的矩形,这个矩形是可以有 偏转角度的,可以与图像的边界不平行 求得包含点集最小面积的矩形,这个矩形是可以有 偏转角度的,可以与图像的边界不平行 使用迭代算法找到2D点集的最小外接圆。如果结 果圆包含所有输入点,则返回非零,否则为零(即算法失败) MinAreaRect(PointF[]) MinAreaRect(IInputArray) MinEnclosingCircle(PointF[]) MinEnclosingCircle(IInputArray) 使用迭代算法找到2D点集的最小外接圆。如果结 果圆包含所有输入点,则返回非零,否则为零(即算法失败) MinEnclosingTriangle 找到包围2D点集的最小面积的三角形,并返回其 区域。
方法—频率域方法
CreateHanningWindow Dft GetOptimalDFTSize MulSpectrums 该函数计算二维的汉宁窗系数。汉宁窗适用于非周期性的连续信号 执行一维或二维浮点数组的正向或反向傅里叶变换 返回大于等于size0的最小数N,使得可以快速计算大小为N的向量的DFT 执行作为实数或复数傅立叶变换结果的两个CCS打包或复合矩阵的乘法(Performs per-element multiplication of the two CCS-packed or complex matrices that are results of real or complex Fourier transform)
方法—图形绘制、几何属性获取
ApproxPolyDP 近似具有指定精度的多边形曲线。approxPolyDP()用另一条顶点较少的曲线来逼近一条曲线或者一个多边形,这样两条曲线之间的距离小于或等于指定的容差。同时也有使闭合逼近曲线的选项(起始点和终止点相同)
ArrowedLine CartToPolar Circle ClipLine ContourArea FillConvexPoly FillPoly HoughCircles(IInputArray, HoughType, Double, Double, Double, Double, Int32, Int32) HoughCircles(IInputArray, IOutputArray, HoughType, Double, Double, Double, Double, Int32, Int32) HuMoments IsContourConvex Mahalanobis MatchShapes MatchTemplate 绘制箭头 计算二维向量长度和角度 绘制一个简单或填充的圆圈,给定的中心和半径。 圆圈被ROI矩形裁剪 计算完全在矩形中的线段的一部分 计算整个轮廓或轮廓部分的面积 填充凸多边形内部。该函数比函数cvFillPoly快得多 填充由一个或多个多边形界定的区域 使用霍夫变换在灰度图像中找圆 使用霍夫变换在灰度图像中找圆 计算Hu矩7个不变量 该功能测试输入轮廓是否为凸面。轮廓必须简单, 即没有自相交。 计算两个向量之间的加权距离。马氏距离,是种 有效的计算两个未知样本集的相似度的方法。 比较两个形状。三种方法的实施都用到Hu矩 通过图像进行切片,使用指定的方法将大小wxh的重叠斑块与模板进行比较,并将比较结果存储到结果中 Moments 计算三阶的控件矩和中心矩,并将它们写入矩中, 然后利用矩可以计算形状,面积,主轴和各种形状特征的重心,包括7胡氏不变量 确定点是在轮廓内,外面还是位于边缘上。它相应地返回正值,负值或零值 绘制单个或多个多边形曲线 PointPolygonTest Polylines(IInputOutputArray,Point[], Boolean, MCvScalar, Int32, LineType, Int32) Rectangle Solve SolveCubic 绘制由CvRect结构指定的矩形 求解线性方程 三次样条曲线插值(finds real roots of a cubic equation: coeffs[0]*x^3 + coeffs[1]*x^2 + coeffs[2]*x + coeffs[3] = 0 (if coeffs is 4-element vector) or x^3 + coeffs[0]*x^2 + coeffs[1]*x + coeffs[2] = 0 (if coeffs is 3-element vector)) 使用单纯形算法(Simplex Method)解决给定(非整数)线性规划问题 SolveLP
方法—视频或连续图像处理
CalcGlobalOrientation CalcOpticalFlowFarneback(IInputArray, IInputArray, IInputOutputArray, Double, Int32, Int32, Int32, Int32, Double, OpticalflowFarnebackFlag) CalcOpticalFlowFarneback(Image 方法—立体像对及模型处理 ComputeCorrespondEpilines 对于立体像对的两个图像之一中的每个点,找到包含相应点(即相同3D点的投影)在另一个图像中的线的方程。 EstimateAffine3D(IInputArray, IInputArray, IOutputArray, IOutputArray, Double, Double) 计算两个3D点集之间的最佳仿射变换。 EstimateAffine3D(MCvPoint3D3计算两个3D点集之间的最佳仿射变换。 2f[],MCvPoint3D32f[], Matrix 方法—其他方法 CalcBackProject ColorChange CorrectMatches cvCreateImageHeader Dct DestroyAllWindows DestroyWindow LinearPolar LogPolar MakeType PCABackProject PencilSketch PutText PyrDown PyrUp ReadCloud Rodrigues RotatedRectangleIntersection SeamlessClone 计算直方图反投影(自动化的目标跟踪中可能会用) 给定一个原始的彩色图像,这个图像的两个不同颜色的版本可以无缝混合 优化对应点的坐标 分配,初始化并返回IplImage结构。 执行1D或2D浮点数组的正向或反向变换 销毁所有的HighGUI窗口。 以给定的名称销毁窗口 该功能模拟人类“中心凹”视觉,可用于快速缩放和旋转不变模板匹配,用于对象跟踪等。 模拟人类“中心凹”视觉 This function performs the same as MakeType macro 由PC项目重建矢量数据(Reconstructs vectors from their PC projections.) 模拟铅笔的非真实线条 使用指定的字体和颜色渲染图像中的文本 执行高斯金字塔分解的下采样步骤 执行高斯金字塔分解的上采样步骤 从文件读取点云 罗德里格旋转矩阵,将旋转矢量转换为旋转矩阵 找出两个旋转矩形之间是否有交叉点 泊松克隆,用于图像融合(Image editing tasks concern either global changes (color/intensity corrections, filters, deformations) or local changes concerned to a selection. Here we are interested in achieving local changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless manner. The extent of the changes ranges from slight distortions to complete replacement by novel content) 通过三角测量重建点 将点云数据写入文件 TriangulatePoints WriteCloud 方法—运行环境 CheckLibraryLoaded DefaultLoadUnmanagedModules 检查以确保所有非托管库都已加载 尝试从特定位置加载opencv模块 ErrorStr GetCvStructSizes GetErrMode GetErrStatus GetModuleFormatString GetNumThreads 返回指定错误状态代码的文本描述。在未知状态的情况下,函数返回NULL。 在非托管代码中检索Open CV结构大小 返回当前错误模式 返回当前错误状态- 使用最后一个cvSetErrStatus调用设置的值 获取模块格式的字符串 获取当前运行组中的线程数目,如果是在并行结 构中使用该函数,其返回的就是现在并行计算中的所有的线程总数,如果是在串行中使用该函数,其返回值就为1 返回调用函数的线程的索引 从特定位置加载opencv模块 通过指定的名字,创建一个可以作为图像和进度条的容器窗口。如果具有相同名称的窗口已经存在,则函数不做任何事情 完成OpenCL队列 获取OpenCL平台的总结作为字符串 设置默认OpenCL设备 设置一个新的错误处理程序,它可以是标准处理程序之一或具有特定界面的自定义处理程序。处理程序采用与cvError函数相同的参数。 设置一个新的错误处理程序,它可以是标准处理程序之一或具有特定界面的自定义处理程序。处理程序采用与cvError函数相同的参数。 设置指定的错误模式 将错误状态设置为指定的值。大多数情况下,该功能用于重置错误状态(设置为CV_StsOk)以在错误后恢复 设置并行OpenCV函数使用的线程数 GetThreadNum LoadUnmanagedModules NamedWindow OclFinish OclGetPlatformsSummary OclSetDefaultDevice RedirectError(IntPtr, IntPtr, IntPtr) RedirectError(CvInvoke.CvErrorCallback, IntPtr, IntPtr) SetErrMode SetErrStatus SetNumThreads 属性 HaveOpenCL HaveOpenCLCompatibleGpuDevice UseOpenCL UseOptimized 检查是否具有OpenCL 获取一个值,表示该设备是否具有兼容GPU的OpenCL 获取或设置是否使用OpenCL 启用或禁用代码优化 字段 BoolMarshalType BoolToIntMarshalType 代表C ++中的bool值 代表C ++中的int值 CvCallingConvention CvErrorHandlerIgnoreError Opencv的调用约定 一个错误处理方法,将忽略任何错误并继续 CvErrorHandlerThrowException 默认的异常回调来处理OpenCV抛出的错误 ExternCudaLibrary cvextern库的文件名 ExternLibrary OpencvFFMpegLibrary OpenCVModuleList StringMarshalType cvextern库的文件名 opencv_ffmpeg库的文件名 opencv模块的列表 字符串封送类型 MorphologyDefaultBorderValue 默认形态值 CvCallingConvention CvErrorHandlerIgnoreError Opencv的调用约定 一个错误处理方法,将忽略任何错误并继续 CvErrorHandlerThrowException 默认的异常回调来处理OpenCV抛出的错误 ExternCudaLibrary cvextern库的文件名 ExternLibrary OpencvFFMpegLibrary OpenCVModuleList StringMarshalType cvextern库的文件名 opencv_ffmpeg库的文件名 opencv模块的列表 字符串封送类型 MorphologyDefaultBorderValue 默认形态值
正在阅读:
EmguCV类(CvInvoke_Class) 方法整理05-30
2010最新恋爱短信大全04-22
全面开展党工共建创先争优活动实施方案07-24
施工进度管理与奖惩措施11-21
读《恶意》有感范文03-24
中原油建固定墩施工方案05-27
汉字字理(二年级)05-22
中山大学生化真题1999-200504-17
邀请函-邀请函范文02-07
企业章程范本02-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- CvInvoke
- 整理
- 方法
- EmguCV
- Class
- 最终版-李嘴孜水文地质类型划分报告V1117 - 图文
- 最终传动箱盖工艺制定
- 2016电大《教育心理学》期末复习题及答案专科
- 2018中国石油大学 外国文学作品选读 第一阶段在线作业
- 河南师范大学古典文献学专业硕士研究生培养方案
- 地形图基本知识
- 黄花岗七十二烈士陵园扫墓活动
- 高考“三位一体”综合评价招生《个人陈述》
- 某大学体育场馆及配套接待中心消防给水系统设计简介及探讨
- 第四章 细胞代谢
- win7安装网络打印机出现“无法加载标准TCP IP端口向导”问题解决
- 学生成绩管理系统需求分析以及数据库设计
- 第三章 农业技术变革与部门就业结构的转变(AAA)
- 1 构建质粒
- 《项目管理概论》复习题
- 浅谈中国房地产行业融资结构
- 12新 - 轮机船舶电气与自动化的考试大纲(三管轮—8403)
- UG二次开发常用函数
- PLC立体车库设计升降横移式立体车库机械部分设计
- 防治水专业技术人员培训管理制度