我想找到给定图像的脊。 (山脊不是边缘!) 一个例子如下图所示
我认为Hessian矩阵可以直观地工作。所以我通过从2D高斯方程开始硬编码Hessian矩阵内核作为下面描述的链接。 How to build 2D hessian matrix kernel
我使用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(:));
答案 0 :(得分:0)
取自这个问题:https://dsp.stackexchange.com/questions/1714/best-way-of-segmenting-veins-in-leaves。
脊滤波器是Hessian矩阵的主要特征值。