均值滤波器 (用区域内的 平均像素来代替 原始像素)
mean filter
def mean_filter(img, K_size=3):
H, W, C = img.shape
print(H,W,C)
# zero padding
pad = K_size // 2
out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)
out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)
tmp = out.copy()
# filtering
for y in range(H):
for x in range(W):
for c in range(C):
out[pad + y, pad + x, c] = np.mean(tmp[y: y + K_size, x: x + K_size, c])
#每一个像素当成中心,进行操作
out = out[pad: pad + H, pad: pad + W].astype(np.uint8)
return out