This question already has an answer here:
Laplacian kernels of higher order in image processing

(1个答案)


1年前关闭。




我想知道如何计算任意奇数大小内核(二阶导数)的拉普拉斯掩码。例如,我知道3x3将是:

1  1  1
1 -8  1
1  1  1

5x5的蒙版将是:

1  1  1  1  1
1  1  1  1  1
1  1 -24 1  1
1  1  1  1  1
1  1  1  1  1

但是,这就是我所知道的。我不知道这些是如何计算的。我相信所有二阶导数掩码都始终具有不同的中心数字,并由1包围。我的问题是,在n为奇数的情况下,如何计算nxn的中心数? (例如7x7、15x15等),我正计划在Matlab中实现此功能。感谢您能提供的任何帮助。

最佳答案

这是一个简单的方法:

function mask = LapMask(n)
    mask = ones(n);
    mask(ceil((n^2)/2)) = 1 - n^2;
end

我将它留给您添加错误检查,以确保n是奇数

关于matlab - 如何计算拉普拉斯 mask 或任何尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19422029/

10-12 17:01