我想找到给定图像的脊。(山脊不是边缘!)一个例子如下图所示
我认为 Hessian 矩阵可以直观地工作。因此,我从 2D-Gaussian 方程开始对 Hessian 矩阵内核进行硬编码,如下所述的链接。 如何构建 2D hessian 矩阵内核
我surf
用来可视化我创建的 3 个二阶导数内核(D_xx、D_yy 和 D_xy),它们看起来都正确。
然后我应用这些内核并对我的图像进行 2D 卷积。
我不确定下一步该做什么,是否需要使用 D_xx、D_yy 和 D_xy 来表示特征值和向量?我们如何使用每个像素的 2×2 矩阵的特征分析从图像中提取脊线?任何想法、公式甚至代码都会很有帮助。
附上生成2D 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(:));