椒盐噪声的特征非常明显,为图像上有黑色和白色的点。使用中值滤波可以很好的去除椒盐噪声。
设定中值滤波的尺寸为3*3. 即用滤波覆盖的9个格子的中间值代替该点的灰度值。
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 29 15:32:46 2017
@author: Joker
"""
from skimage import io
im=io.imread('b.jpg')
#io.imshow(im)
for i in range(0,im.shape[0]):
for j in range(0,im.shape[1]):
im_copy[i][j]=im[i][j]
#用3*3的中值滤波器
step=3
def m_filter(x,y):
sum_s=[]
for k in range(-int(step/2),int(step/2)+1):
for m in range(-int(step/2),int(step/2)+1):
sum_s.append(im[x+k][y+m])
sum_s.sort()
return sum_s[(int(step*step/2)+1)]
for i in range(int(step/2),im.shape[0]-int(step/2)):
for j in range(int(step/2),im.shape[1]-int(step/2)):
im_copy[i][j]=m_filter(i,j)
io.imshow(im_copy)
python 图像处理 用中值滤波去除椒盐噪声
最新推荐文章于 2024-02-26 09:45:19 发布