OpenCV学习之直方图匹配与平面划分

连接部件

数据结构

typedef struct CvConnectedComp{
    double area;//连通域的面积
    float value;//分割域的灰度缩放值
    CvRect rect;//分割成的ROI
}

数据操作

  • FloodFill 指定颜色填充一个连通域
  • FindContours 在二值图像中寻找轮廓
  • StartFindContours 初始化轮廓的扫描过程
  • FindNextContour 寻找图像的下一个轮廓
  • SubstituteContour 替换提取的轮廓
  • EndFindContours 结束扫描过程
  • PyrSegmentation 用金字塔实现图像分割

图像与轮廓矩

  • Moments 计算多边形和光栅形状最高达到三阶的所有矩
  • GetSpatialMoment 从矩状态结构中提取空间矩
  • GetCentralMoment 从矩状态结构中提取中心矩
  • GetNormalizedCentralMoment 从矩状态结构中提取归一化的中心矩
  • GetHuMoments 计算7个Hu不变量

亮度变换与直方图

亮度变换指的是图像在空域上的点运算,通常包括图像增强、亮度对比度调节、GAMMA值调节和直方图调整,等等。

CvHistogram 定义多维直方图

数据操作

  • CreateHist 创建一个指定尺寸的直方图,并返回创建的直方图指针
  • SetHistBinRanges 设置直方图的区间
  • ReleaseHist 释放直方图结构
  • ClearHist 清除直方图
  • MakeHistHeaderForArray 从数组中创建直方图
  • QueryHistValue_1D 查询直方块的值
  • GetHistValue_1D 返回直方块的指针
  • GetMinMaxHistValue 返回最大和最小直方块以及它们的位置
  • NormalizeHist 归一化直方图
  • ThreshHist 清除那些小于指定阈值的直方块
  • CompareHist 比较两个稠密直方图
  • CopyHist 复制直方图
  • CalcHist 计算单通道或多通道图像的直方图
  • CalcProbDensity 将两个直方图相除
  • EqualizeHist 对灰度图像进行直方图均衡化

特殊图像变换

  • HoughLines2 利用Hough变换在二值图像中寻找直线
  • HoughCircles 使用Hough变换在灰度图像中寻找圆圈
  • DistTransform 计算输入图像的所有非零像素与其最近零像素的距离,零像素距离为0
  • Inpaint 根据选定的区域边界像素来重构选定的图像区域

匹配

  • MatchTemplate 将模板与重叠的图像区域比较
  • MatchShapes 比较两个形状(轮廓)
  • CalcEMD2 在两个加权点集之间计算最小工作距离

结构分析

轮廓处理函数

  • ApproxChains 采用多边形曲线逼近Freeman链
  • StartReadChainPoints 初始化链读取
  • ReadChainPoint 返回当前链的点,并更新读取位置
  • ApproxPoly 使用指定精度逼近多边形曲线
  • BoundingRect 返回二维点集的最外面矩形边界
  • ContourArea 计算整个轮廓或部分轮廓的面积
  • ArcLength 计算轮廓周长或曲线长度
  • CreateContourTree 创建轮廓的继承表示形式
  • ContourFromContourTree 由二叉树恢复轮廓
  • MatchContourTrees 用树的形式比较两个轮廓

计算几何

数据结构
  • CvBox2D 定义旋转的二维盒子
  • CvConvexityDefect 描述一个简单轮廓凸形缺陷的结构体
数据操作
  • MaxRect 对两个给定矩形,寻找矩形边界
  • PointSeqFromMat 通过点向量来初始化点序列头信息
  • BoxPoints 寻找盒子的顶点
  • FitEllipse2 实现二维点集的椭圆拟合
  • FitLine 实现二维或三维点集的直线拟合
  • ConvexHull2 创建点集的凸外形
  • CheckContourConvexity 测试输入轮廓是否为凸的
  • ConvexityDefects 发现轮廓凸形缺陷
  • PointPolygonTest 确定点与多边形的关系
  • MinAreaRect2 对给定的二维点集,寻找其最小面积的包围矩形
  • MinEnclosingCircle 对给定的二维点集,寻找其最小面积的包围圆形
  • CalcPGH 计算轮廓的pair-wise几何直方图

平面划分

数据结构
  • CvSubdiv2D 定义平面划分,覆盖整个平面
  • CvQuadEdge2D 定义平面划分中的四方边缘结构,十字架
  • CvSubdiv2DPoint 定义原始和对偶划分点

数据操作

  • Subdiv2DGetEdge 返回与输入边缘相关的边缘
  • Subdiv2DRotateEdge 根据输入的边缘返回四方边缘结构中的一条边缘
  • Subdiv2DEdgeOrg 返回边缘的原点
  • Subdiv2DEdgeDst 返回边缘的终点
  • CreateSubdivDelaunay2D 生成空的Delaunay三角划分
  • SubdivDelaunay2DInsert 三角划分中插入一个点
  • Subdiv2DLocate 在三角划分中定位输入点
  • FindNearestPoint2D 根据输入点,找到其最近的划分顶点
  • CalcSubdivVoronol2D 计算图表的细胞结构
  • ClearSubdivVoronol2D 移除所有的虚点
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值