本节一起绘制一个可视化的高斯滤波器,同时对一个彩色图像增加高斯噪声,最后通过一个高斯滤波器对图像进行降噪处理。
就像上节说的那样,滤波不是学习重点,下面通过实操了解下原理即可。
可视化高斯滤波器
高斯滤波器符合高斯分布,并且是二维高斯分布,这一点在上一节高斯滤波中已经介绍了。
下面我们通过 python 来生成一个高斯滤波器,并且对其可视化。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.stats import multivariate_normal
# 定义一个高斯滤波器
def gaussian_kernel(size, sigma=1.0):
kernel = np.fromfunction(
lambda x, y: (1/ (2 * np.pi * sigma ** 2)) * np.exp(- ((x - size // 2) ** 2 + (y - size // 2) ** 2) / (2 * sigma ** 2)),
(size, size)
)