我的问题非常接近这个问题: 如何在不使用任何内置高斯函数的情况下对图像进行高斯模糊处理?
这个问题的答案很好,但是并没有给出实际计算一个真正的高斯滤波器内核的例子。答案给出了一个任意内核,并展示了如何使用该内核应用过滤器,而不是如何计算真正的内核本身。我正在尝试从头开始在 C++ 或 Matlab 中实现高斯模糊,所以我需要知道如何从头开始计算内核。
如果有人可以使用任何小的示例图像矩阵计算出真正的高斯滤波器内核,我将不胜感激。
原文由 gsgx 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以按照
fspecial
的 MATLAB 文档中的说明从头开始创建高斯内核。请阅读该页面算法部分中的高斯核创建公式,并按照以下代码进行操作。代码是创建一个 sigma = 1 的 m×n 矩阵。请注意,这可以通过内置的
fspecial
来完成,如下所示:我认为用你喜欢的任何语言来实现它都很简单。
编辑:让我也添加
h1
和h2
对于给定的情况,因为你可能不熟悉meshgrid
如果你在 C++ 中的代码。