搬瓦工做网站方法,大连本地网,石家庄定制网站建设,网络推广计划书案例图像处理核函数#xff1a;之高斯核函数的生成方法 python高斯核函数#xff08;低通高斯滤波器核#xff09;高斯分布函数高斯核生成函数代码效果高斯核函数的图像高斯核函数#xff08;低通高斯滤波器核#xff09;
最近在看DIP#xff08;Digital Image Processing)之高斯核函数的生成方法 python高斯核函数低通高斯滤波器核高斯分布函数高斯核生成函数代码效果高斯核函数的图像高斯核函数低通高斯滤波器核
最近在看DIPDigital Image Processing)虽然可以调用Opencv的函数但还是被这高斯核函数所吸引这可能也是高斯分态对我的吸引力。
高斯分布函数
G(x)12πσe−(x−x0)22σ2G(x) \frac{1}{\sqrt{2\pi\sigma}}e^{-\frac{(x-x_0)^2}{2\sigma^2}}G(x)2πσ1e−2σ2(x−x0)2 这是我们常见的高斯分布概率密度函数正态分布
高斯核生成函数 DIP书上给出的高斯核函数
G(s,t)Ke−s2t22σ2G(s, t) K e^{-\frac{s^2 t^2}{2\sigma^2}}G(s,t)Ke−2σ2s2t2 看起来跟高斯分布是不是有点相似但却有点不同其实没有关系的。这里的K可以看成是归一化因子而重要是的e−s2t22σ2e^{-\frac{s^2 t^2}{2\sigma^2}}e−2σ2s2t2这部分。
好了有了函数我们就可以写代码了。
代码
下面公式是我生成高期核的用到的公式 G(x,y)12πσ2e−(x−x0)2(y−y0)22σ2G(x, y) \frac {1} {2\pi\sigma ^2}e^{-\frac{(x-x_0)^2(y-y_0)^2}{2\sigma^2}}G(x,y)2πσ21e−2σ2(x−x0)2(y−y0)2
# 高斯核生成函数
def creat_gauss_kernel(kernel_size3, sigma1, k1):if sigma 0:sigma ((kernel_size - 1) * 0.5 - 1) * 0.3 0.8X np.linspace(-k, k, kernel_size)Y np.linspace(-k, k, kernel_size)x, y np.meshgrid(X, Y)x0 0y0 0gauss 1/(2*np.pi*sigma**2) * np.exp(- ((x -x0)**2 (y - y0)**2)/ (2 * sigma**2))return gauss默认参数生成的高斯核 [0.05854983, 0.09653235, 0.05854983], [0.09653235, 0.15915494, 0.09653235], [0.05854983, 0.09653235, 0.05854983]
为什么要判断sigma是否为0k是什么对核函数有何影响对最终的图像有何影响代码有核的大小代码有可定义的σ\sigmaσ
效果
左边是默认的3X3 高斯核右边是自己生成的3X3的高斯核从效果来看没有什么差别这也说明生成的高斯核可用。
高斯核函数的图像