哈里斯&斯蒂芬斯角点检测算法:行列式始终为0(零)

时间:2013-02-25 19:50:46

标签: detection zero feature-detection corner-detection

作为我的学士论文的一部分,我尝试使用Harris和Stephens算法实现角点检测器: A combined Corner and Edge Detector

我的确计算:

  1. 与sobel滤波器(3x3)的x和y偏差
  2. 计算系统矩阵M

    M = [A C; C B]

    这意味着,如果我没事的话:

    1. A = sobel_x平方的响应:Ix * Ix(在某个像素处)
    2. B = sobel_y平方的响应:Iy * Iy(在某个像素处)
    3. C = sobel_x的响应乘以sobel_y的响应:Ix * Iy(在某个像素处)
  3. 现在我确实计算了痕迹(M)以及我特别关注的问题:决定因素(M)

  4. 在那篇论文中,他们建议对行列式进行以下近似,因为它避免了昂贵的特征值计算:

    det(M)= A * B - C ^ 2

    必须始终以零结束!

    表达式det(M)= A * B - C ^ 2可以改写为:(使用第2点的知识)

    det(M)= A * B - C * C

    det(M)= Ix * Ix * Iy * Iy - Ix * Iy * Ix * Iy

    det(M)= Ix * Ix * Iy * Iy - Ix * Ix * Iy * Iy

    det(M)= 0

    那我为什么还要费心计算行列式呢? 据我所知,计算迹线就足够了! (或者我在某处犯了一个重大错误?)

2 个答案:

答案 0 :(得分:3)

在计算R之前,在Ix2,Iy2,Ixy上应用高斯核。

答案 1 :(得分:-1)

我遇到了同样的问题。对于图像中的每个像素,您需要考虑一个小窗口,例如像素周围的3x3。

对于该3x3窗口中的每个像素,您为其应用高斯蒙板Ix ^ 2,Ix * Iy和Iy ^ 2以构造2x2矩阵H'。然后你总结一下H'矩阵以获得最终的H矩阵,并从那里计算行列式。

我不清楚的是,为什么需要应用高斯蒙版为什么在网上找到的幻灯片和资源都没有提到