理解Hessian矩阵
最近用到结构光条中心的精确提取,用Opencv写了一下Steger的算法,效果不错,没来得及体会算法,今天想了一下。核心思想是“线条中心是灰度一阶导数为0,二阶导数很大的点”。这样,二维的话,需要一些参数知道。包括线条的法线方向和二阶导数值。可以利用Hessian矩阵。Hessian矩阵是二阶矩阵,元素是二阶导数。这是一个二阶导数空间,把此矩阵映射到特征空间,最大特征值自然就是二阶导数极大值,(????????hessian矩阵的证明)对应的特征向量是此极大值的方向,等同于线条的法线方向。Steger法的聪明之处在于想到了用二阶导数极大值的方向作为线条的法线方向。
角点探测
1,K—R法利用灰度梯度方向的变化率在边缘走向方向的投影,其值反映了角点的尖锐程度。
2,Harris法其实就是Steger提取光条中心的升级版,提取了点的中心。关键是把角点转化为亮点。用自相关模版对图像卷积,结果的变化率体现了本身灰度的变化率,于是角点转化为亮点。对结果矩阵,用Hessian矩阵,在两个正交方向上都有较大值的点就是亮点,即角点。