四种常见的去噪操作

均值滤波

当对一个值进行滤波时,使用当前值与周围8个值之和,取平均做为当前值

1
2
cv2.blur(img, (3, 3))
# 第二个参数代表进行均值滤波的方框大小

方框滤波

1
2
cv2.boxfilter(img, -1, (3, 3), normalize=True)
# 当normalize=True时,与均值滤波结果相同, normalize=False,表示对加和后的九个点不进行平均操作,大于255的使用255表示

高斯滤波

$$
G(x) =
\begin{cases}
\frac {1}{\sqrt{2\pi}\sigma}e^{-\frac {x^2}{2 \sigma^2}}
\end{cases}
$$
根据高斯的距离对周围的点进行加权,求平均值1,0.8, 0.6, 0.8

1
2
cv2.Guassianblur(img, (3, 3), 1)
# 1表示σ, x表示与当前值得距离,计算出的G(x)表示权重值

中值滤波

相当于将9个值进行排序,取中值作为当前值

1
2
cv2.medianBlur(img, 3)
# 3表示当前的方框尺寸

合并

1
img = np.vstack(要合并的几个图像名,用逗号分隔)