- 背景:虽然Canny之类的边缘检测算法可以根据像素间的差异检测出轮廓边界的像素,但是它并没有将轮廓作为一个整体。
- 轮廓获取得到一个图像的直方图,具体实现步骤:分割图像通道->求出bins数量及范围->创建直方图->计算直方图
- opencv中提供了两类表达轮廓的方式:顶点的序列、Freeman链码。
- 轮廓的特性:
- 轮廓的多边形逼近:使用一个多边形来近似表示一个轮廓。目的是为了减少轮廓的顶点数目。
- 轮廓的关键点:轮廓上包含曲线信息比较多的点,关键点是轮廓顶点的子集。
- 轮廓的边界框:矩形,圆形,椭圆
- 轮廓的矩:是通过对轮廓上所有点进行积分运算(或求和(针对离散)运算)得到的一个粗略特征.
- 轮廓树:
- 用来描述某个特定轮廓的内部特征。轮廓树跟轮廓是一一对应的关系;轮廓树不用于描述多个轮廓之间的层次关系。
- 轮廓树的创建过程:从底端(叶子节点)到顶端(根节点)的,搜索三角形突出或凹陷的形状的周边,每个三角形被一条线段(通过连接非相邻点的两点得到)代替。
- 轮廓的凸包或凸缺陷:用于描述物体的外形。
- 轮廓的成对几何直方图:
- 链码编码直方图(CCH):用于统计一个轮廓的freeman链码编码每一种走法的数字。特性:当物体旋转45度,则新的直方图是老直方图的循环平移,可以不受旋转影响。
- 轮廓保存的是一系列的顶点,而看到的是由一系列线段组成的多边形。
- 成对几何直方图所用的统计数据包括了夹角和距离。
- 轮廓的匹配:
- Hu矩匹配:
- 矩:实函数相对于值c的n阶距:(x-c)^n
- 图像的几何矩:具有平移,旋转,尺度不变性。
- 归一化中心距:特征不仅具有平移不变性,还具有比例不变性。
- Hu距是归一化中心矩的线性组合,对于缩放,旋转,镜像映射具有不变性。
- 一些统计规律:轮廓边界长度(零阶距),x/y方向上均值(即质心,一阶距),方差(二阶中心距),形状特性(Hu距)
- 轮廓树匹配:用树的形式比较两个轮廓。
- 成对几何直方图匹配:得到轮廓的成对几何直方图后,可使用直方图对比的方法进行匹配。
- Hu矩匹配:
- 基于轮廓的识别:需把图像拆分通道,寻找边缘,转换为轮廓(多边形逼近,特性概括),然后进行轮廓匹配(图像与图像,图像与模板)
- 轮廓匹配主要解决:大小,位置,旋转角度,精度不同图像间的匹配问题。
- 查找轮廓:
- 对图像进行canny检测。
- 可直接对二值化图像进行轮廓提取,找出的轮廓其实就是blob,画上外截矩形就是ROI。
- 简单几何不变性:
- 利用角点特征:
- 在图像边界上曲率足够高的点,角点特征具有平移,旋转,缩放不变性。
- 只适用于物体边界角点多且能代表物体形状的特征点的物体。
- 利用等价曲线来表示形状:
- 具有平移,旋转,缩放不变的特性。
- 利用形状边界点的极半径的变化是否一致来判断是否属于同一类型。
- 高斯描述子:一种基于边界的形状特征。
- 小波变换:
- 具有空间-频率局部性,方向性,多分辨率。
- 在不同尺度上对图像进行分解。
- 骨架化方法:使用物体的中轴或骨架的拓扑关系来描述其形状。
- PCA在最小均方差的意义下是最优变换,消除模式特征之间的相关性,突出差异性方面达到最优效果。
- 利用角点特征:
轮廓匹配---学习笔记
最新推荐文章于 2025-04-07 14:45:36 发布