参考 http://blog.csdn.net/carson2005/article/details/39642923
http://blog.csdn.net/jwh_bupt/article/details/7628665
它是一种基于灰度方差的角点检测方法。该算子计算图像中某个像素点沿着水平、垂直、对角线、反对角线四个方向的灰度方差,其中的最小值选为该像素点的角点响应值CRF(Corner Response Function),再通过局部非极大值抑制来检测是否为角点。具体实现步骤如下:
-
将要判断的点置于一个3*3或5*5的图像块的中心,如下图用红色的线环绕的图像块。
-
将红色的框朝8个方向移动一格,得到蓝色的框(下图为向右上角移动)。导致一个缺点:响应是各向异性的(啥意思?)
-
将红色的框和蓝色的框的相同坐标值的点的像素值相减,并求平方和,可以得到8个值。
-
将8个值中的最小的值作为角点像素的变化值。(因为角点应该在x、y方向上变化都比较大;而在边缘上只可能一个方向大、另一个方向小)
-
求出每一个像素点的角点像素变化值,在局部图像块中,该值最大的点为角点。