Sim*_*ing 5 matlab convolution hessian-matrix
我想查找给定图像的山脊。(边缘没有边缘!)示例如下图所示
我认为Hessian矩阵会直观地工作。因此,我从2D-高斯方程开始对Hessian矩阵内核进行了硬编码,如下所述。 如何构建2D粗麻布矩阵内核
我使用surf
可视化的方法创建了3个二阶导数内核(D_xx,D_yy和D_xy),它们看上去都是正确的。
然后,我应用了这些内核并对图像进行了2D卷积。
我不确定下一步该怎么做,是否需要使用D_xx,D_yy和D_xy来表示特征值和向量?我们如何通过对每个像素进行2×2矩阵的特征分析来从图像中提取出棱线?任何想法,公式甚至代码都将大有帮助。
附带的代码生成二维Hessian矩阵
[x y]=meshgrid(round(-N/2):round(N/2), round(-N/2):round(N/2));
common = x.^2+y.^2;
Lxx = ((-1+x.^2/(sigma^2)).*exp(-common/(2*sigma^2))) / (2*pi*sigma^4);
Lxx = Lxx./ sum(Lxx(:));
Lyy = ((-1+y.^2/(sigma^2)).*exp(-common/(2*sigma^2))) / (2*pi*sigma^4);
Lyy = Lyy./ sum(Lyy(:));
Lxy = ((x.*y)/(2*pi*sigma^6)).*exp(-common/(2*sigma^2));
Lxy = Lxy./ sum(Lxy(:));
Run Code Online (Sandbox Code Playgroud)