我在 GLSL 中实现了一个高斯模糊片段着色器。我了解所有这些背后的主要概念:卷积,使用线性分离 x 和 y,多次通过以增加半径......
不过我还有几个问题:
sigma和radius有什么关系?
我读过 sigma 相当于半径,我看不到 sigma 是如何以像素表示的。或者“半径”只是 sigma 的名称,与像素无关?
如何选择西格玛?
考虑到我使用多次传递来增加 sigma,我如何选择一个好的 sigma 来在任何给定的传递中获得我想要的 sigma?如果得到的 sigma 等于 sigma的平方和的平方根并且 sigma 等于半径,那么获得任何所需半径的简单方法是什么?
内核的合适大小是多少,它与 sigma 有什么关系?
我见过大多数实现都使用 5x5 内核。对于质量不错的快速实现来说,这可能是一个不错的选择,但是还有其他理由选择其他内核大小吗?sigma 与内核大小有何关系?我是否应该找到最好的 sigma 以便我的内核之外的系数可以忽略不计并且只是标准化?