harris角点检测

一:harris基础

图1.计算点(u,v)处的harrirs响应,实际是计算两个窗口内所有像素值的加权差异

以像素点为中心的窗口经过平移得到窗口,两个窗口像素差异定义为:

                       

                       

其中:

为窗口内的像素点,为窗口内像素点。

为窗口内的高斯卷积核(和窗口同样大小)

H=\sum_{x,y}  \left[\begin{matrix}  w(x,y)\cdot  (\frac{\delta I}{\delta x}(x,y))^2   & w(x,y)\cdot  \frac{\delta I}{\delta x}(x,y)\cdot \frac{\delta I}{\delta x}(x,y)  \\  w(x,y)\cdot  \frac{\delta I}{\delta x}(x,y)\cdot \frac{\delta I}{\delta x}(x,y) &  w(x,y)\cdot (\frac{\delta I}{\delta y}(x,y))^2    \end{matrix}\right]

二:计算流程

1)计算梯度图X,Y

           

           

2)计算梯度图的卷积

           

           

           

其中为梯度图矩阵对应位置相乘,为5x5高斯卷积核(也可以为其他大小的高斯卷积核)

则:

           

3)计算每个像素点的harris响应值

设矩阵H的特征值分别为,则:

           

           

像素点的harris的响应值(response)为:

           

其中(也可以为其他值),如果,则点为预选harris角点

4)harris角点筛选

对步骤3中的预选harris角点执行非极大值抑制,得到最终的harris角点。

三:代码示例

图2.harris角点检测结果

你可能感兴趣的:(harris角点检测)