基本概念
图像的形状可以看成是图像的轮廓。图像形状的表示方式有:链码、游程码、freeman码等,还有简化方式:B样条,3次、5次样条、插值、多项式、多边形逼近、特征点检测,还可以使用形状的骨架来描述形状。
形状的描述是用一些方法生成数值的描述子来描述形状,描述子应该尽可能区别不同目标的基础上对目标的平移、旋转和尺度变化不敏感,常用的形状描述子如下:
- 基于几何特征:紧密度、实心度、偏心率、不规则度
- 基于统计特征:粗糙度、均值、方差
- 变换域特征:矩、<a href="http://www.tsi.telecom-paristech.fr/pages/enseignement/ressources/beti/descript_fourier/Part2.html">Fourier描绘子</a>、小波描绘子、形态描绘子
- 仿射不变量:简比
- 射影不变量:交比
形状匹配解决的问题:
- 信号噪声-噪声
- 成像系统视角引起的变化-变换
- 自遮掩和互遮掩-遮挡
- 一个目标各部分的连接运动(如人体)-变形
- 复杂运动(如衣服)
- 同类对象间变化
(噪声,变换,遮挡,变形)
形状匹配方法:
- 只能处理各种变换(相似变换,仿射变换,透视变换),主要通过寻找变换下的不变量
- 相似不变量:距离、矩、角度、圆度、Fourier描述子
- 仿射不变量:简比、弧长、包围面积、改进型Fourier描绘子
-透视不变量:交比及其延伸
- 能处理复杂形变,主要通过寻找目标和模型之间的局部特征对应来使匹配误差最小
- 广义Hough变换
- 动态规划
- 神经网络
- 变形模板
- 遗传算法
- 解析方法
基于不变矩的形状描述
图像的p+q阶几何矩的描述如下:
图像的p+q阶中心矩的描述如下:
归一化的中心距为:
其中
其中只有基于二阶矩的不变矩对二维物体的描述才是真正的具有旋转、缩放和平移不变性。因此多用二阶矩。
opencv中使用cv::matchShape函数可以实现基于不变矩的形状匹配。
基于不变矩的形状匹配由于使用的矩阶数较低,因此无法刻画图像的细节,这带来形状匹配的准确率较低,一般只用来匹配较大的,边缘较清晰且完整的形状。
形状匹配方法在实际应用过程中最大的问题是无法提取到一条较完整的轮廓,这直接导致物体的形状无法被精确刻画,也就导致没有办法准备匹配形状。