Algorithm 高斯边缘检测的尺度拉普拉斯算子

Algorithm 高斯边缘检测的尺度拉普拉斯算子,algorithm,image-processing,gaussian,edge-detection,Algorithm,Image Processing,Gaussian,Edge Detection,我使用高斯拉普拉斯算子进行边缘检测,使用和中描述的组合 简单地说,我用这个等式: for(int i = -(kernelSize/2); i<=(kernelSize/2); i++) { for(int j = -(kernelSize/2); j<=(kernelSize/2); j++) { double L_xy = -1/(Math.PI * Math.pow(sigma,4))*(1 - ((Math.

我使用高斯拉普拉斯算子进行边缘检测,使用和中描述的组合

简单地说,我用这个等式:

for(int i = -(kernelSize/2); i<=(kernelSize/2); i++)
    {

        for(int j = -(kernelSize/2); j<=(kernelSize/2); j++)
        {

            double L_xy = -1/(Math.PI * Math.pow(sigma,4))*(1 - ((Math.pow(i,2) + Math.pow(j,2))/(2*Math.pow(sigma,2))))*Math.exp(-((Math.pow(i,2) + Math.pow(j,2))/(2*Math.pow(sigma,2))));
            L_xy*=426.3;
        }

    }

for(int i=-(kernelSize/2);i查看您的图像,我假设您使用的是24位RGB。当您增加sigma时,过滤器的响应相应减弱,因此,在具有较大内核的较大图像中得到的值接近零,这些值被截断或非常接近零,以至于您的显示无法区分

要使不同比例的差异具有可比性,应使用比例空间差异运算符(Lindeberg等人):

本质上,微分算子应用于高斯核函数(
G{\sigma}
),结果(或者卷积核;它只是一个标量乘法器)通过
\sigma^{\gamma}
进行缩放。这里
L
是输入图像,
LoG
是高斯图像的拉普拉斯函数

当微分阶数为2时,
\gamma
通常设置为2

然后你应该在两幅图像中得到非常相似的大小

资料来源:

[1] 林德伯格:“计算机视觉中的尺度空间理论”1993年


[2] Frangi et al.“多尺度血管增强滤波”1998

谢谢。是的,你是对的,这实际上是32位RGB alpha。所以,你是说我应该缩放sigma^2。你能澄清一下术语\partial^2/\partial{x_m x_n}有一点。从我的理解来看……我只需要放大高斯核?多做一点解释会有帮助。任何指向Tony Lindeberg参考的链接都将不胜感激。是的,你是对的,你只需要放大高斯核。我修改了我的答案,希望现在更清楚。