2013-02-25 94 views
3

由于我的单身汉,论文的一部分,我试图实现与哈里斯和斯蒂芬算法角点检测: A combined Corner and Edge Detector哈里斯&斯蒂芬斯角点检测算法:行列式始终为0(零)

我计算:

  1. 的x-和y-偏差用索贝尔滤波器(3×3)
  2. 计算系统矩阵M

    M = [AC; CB]

    这意味着,如果我把所有右侧:

    1. 甲sobel_x的=响应的平方:九* IX(在某一像素)
    2. B = sobel_y的响应的平方:IY * IY(在某些像素)
    3. C = sobel_x乘以sobel_y的响应的响应:九* IY(在某些像素)
  3. 现在我做的计算痕迹(M),我尤其是更关注什么:行列式(M)

在那里纸他们建议用于行列式以下近似的,因为它避免了特征值的昂贵的计算:

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

必须始终在零终止

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

DET(M)= A * B - Visual C * C

DET(M)=九*九* IY * IY - 九* IY *九* IY

DET(M)=九*九* IY * IY - 九*九* IY * IY

DET (M)= 0

所以我为什么要甚至懒得计算行列式? 据我所知,计算痕迹是足够的! (或者我在某处犯了重大错误?)

+0

你的意思是矩阵M = [A C; C B]否则我不知道B指的是什么。 – hardmath 2013-02-25 19:55:23

回答

2

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

+0

详细说明这一点:似乎矩阵“M”实际上应该包含像素周围窗口的渐变项的总和。因此,行列式不应取消。看到这个其他职位更多的上下文:http://stackoverflow.com/questions/16803587/how-to-compute-the-structure-tensor-of-a-2d-array – 2015-04-12 19:48:40

-1

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

对于在3×3窗口的每个像素,则应用高斯掩模它用于1x^2,1×* Iy和IY^2来构造2×2矩阵H”。然后,总结H'矩阵以获得最终的H矩阵,并从那里计算行列式。

什么我不清楚在虽然是为什么高斯面膜需要应用尽可能多的幻灯片和资源在网上找到别提了