Python harris角点检测中自相关函数的可视化

Python harris角点检测中自相关函数的可视化,python,numpy,matplotlib,computer-vision,signal-processing,Python,Numpy,Matplotlib,Computer Vision,Signal Processing,我想可视化图像中某些面片的自相关函数。有关公式,请参见。有关详细信息,请参阅此帖子 到目前为止,我所做的是计算图像梯度I_x和I_y,然后构建矩阵M。对于5x5图像修补程序: u,v = np.mgrid[100:105:1,100:105:1] 我想计算E(u,v)并通过ax绘制它。绘制曲面(u,v,z,cmap=“viridis”) 我实现了E(u,v)如下: def ac(u,v,img_xx,img_xy,img_yy): M = np.array([[img_xx[u,v]

我想可视化图像中某些面片的自相关函数。有关公式,请参见。有关详细信息,请参阅此帖子

到目前为止,我所做的是计算图像梯度
I_x
I_y
,然后构建矩阵
M
。对于
5x5
图像修补程序:

u,v = np.mgrid[100:105:1,100:105:1]
我想计算
E(u,v)
并通过
ax绘制它。绘制曲面(u,v,z,cmap=“viridis”)

我实现了
E(u,v)
如下:

def ac(u,v,img_xx,img_xy,img_yy):
    M =  np.array([[img_xx[u,v].sum(),img_xy[u,v].sum()],[img_xy[u,v].sum(),img_y[u,v].sum()]])
    uv = np.vstack([u.ravel(),v.ravel()])
    a=np.dot(uv.T,M)
    return a.dot(uv)
z=ac(u,v,img_xx,img_xy,img_yy)
ax.plot_surface(u.ravel(), v.ravel(),z,cmap="viridis")
并绘制了如下函数:

def ac(u,v,img_xx,img_xy,img_yy):
    M =  np.array([[img_xx[u,v].sum(),img_xy[u,v].sum()],[img_xy[u,v].sum(),img_y[u,v].sum()]])
    uv = np.vstack([u.ravel(),v.ravel()])
    a=np.dot(uv.T,M)
    return a.dot(uv)
z=ac(u,v,img_xx,img_xy,img_yy)
ax.plot_surface(u.ravel(), v.ravel(),z,cmap="viridis")
这给了我一个非常奇怪的结果。我想我的实现是不正确的。。。。 有人能指导我正确的实现,以及如何正确地可视化它吗