《数字图像处理》统计排序滤波

【实验目的】

1. 理解图像滤波的基本概念;

2. 掌握空域滤波的基本原理;

3. 掌握图像中值滤波器的基本方法;

4. 掌握椒盐噪声的添加与去除方法。

【实验环境】

Python

【实验内容】

1、将图像进行中值滤波处理。

from scipy import ndimage
from skimage import data, util
from matplotlib import pyplot as plt
img=data.astronaut()[:,:,0]
noise_img=util.random_noise(img,mode='s&p',seed=None,clip=True)
n=3
new_img=ndimage.median_filter(noise_img,(n,n))
plt.figure()
plt.imshow(img,cmap='gray')
plt.figure()
plt.imshow(noise_img,cmap='gray')
plt.figure()
plt.imshow(new_img,cmap='gray')

2、将图像进行最大值和最小值滤波处理。

from scipy import ndimage
from skimage import data,util
from matplotlib import pyplot as plt
img=data.astronaut()[:,:,0]
pepper_img=util.random_noise(img,mode='pepper',seed=None,clip=True)
salt_img=util.random_noise(img,mode='salt',seed=None,clip=True)
n=3
max_img=ndimage.maximum_filter(pepper_img,(n,n))
min_img=ndimage.maximum_filter(salt_img,(n,n))
plt.figure()
plt.imshow(img,cmap='gray')
plt.figure()
plt.imshow(min_img,cmap='gray')
plt.figure()
plt.imshow(max_img,cmap='gray')

3、读入camera图像,添加椒盐噪声,分别采用高斯滤波、中值滤波、最大值滤波、最小值滤波进行滤波处理,分别显示滤波结果。

from skimage import data,util
from matplotlib import pyplot as plt
from scipy import ndimage
import numpy as np
import math
img=data.camera()
noise_img=util.random_noise(img,mode='s&p',seed=None,clip=True)
n=3
gauss_img=ndimage.gaussian_filter(noise_img,(n,n))
med_img=ndimage.median_filter(noise_img,(n,n))
max_img=ndimage.maximum_filter(noise_img,(n,n))
min_img=ndimage.maximum_filter(noise_img,(n,n))
plt.figure()
plt.imshow(img,cmap='gray')
plt.figure()
plt.imshow(gauss_img,cmap='gray')
plt.figure()
plt.imshow(med_img,cmap='gray')
plt.figure()
plt.imshow(min_img,cmap='gray')
plt.figure()
plt.imshow(max_img,cmap='gray')


4、将3进行改进,分别计算四种滤波器的结果与原始图像之间的PSNR值,比较哪种结果较好。

from skimage.metrics import peak_signal_noise_ratio as compare_psnr
psnr1=compare_psnr(img, gauss_img*255)
psnr2=compare_psnr(img, med_img*255)
psnr3=compare_psnr(img, max_img*255)
psnr4=compare_psnr(img, min_img*255)
print("高斯滤波",psnr1)	
print("中值滤波",psnr2)
print("最大值滤波",psnr3)
print("最小值滤波",psnr4)

最终结果显示,中值滤波的效果较好。

【实验小结】

图像滤波实验是一个涉及图像处理和计算机视觉的实验,其主要目标是去除图像中的噪声、平滑图像以及提取图像中的特征。高斯滤波器可以平滑图像,但可能会模糊边缘;中值滤波器对椒盐噪声有很好的效果,但可能会导致图像变得模糊;而最大滤波、最小滤波可以增强边缘,但可能会增加噪声。而通过实验比较去噪效果最好的为中值滤波。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值