数字图像处理中的统计排序滤波实验
创作时间:
作者:
@小白创作中心
数字图像处理中的统计排序滤波实验
引用
CSDN
1.
https://blog.csdn.net/weixin_67506931/article/details/139984866
数字图像处理中的统计排序滤波实验是理解图像滤波基本概念和掌握空域滤波原理的重要实践。本文通过Python编程语言,详细介绍了中值滤波、最大值滤波和最小值滤波等方法在图像处理中的应用,并通过实验比较了不同滤波方法的效果。
实验目的
- 理解图像滤波的基本概念;
- 掌握空域滤波的基本原理;
- 掌握图像中值滤波器的基本方法;
- 掌握椒盐噪声的添加与去除方法。
实验环境
Python
实验内容
1. 图像中值滤波处理
中值滤波是一种非线性滤波方法,特别适合去除椒盐噪声。以下是使用Python实现中值滤波的代码示例:
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. 最大值和最小值滤波处理
最大值滤波和最小值滤波分别用于增强图像的亮部和暗部特征。以下是使用Python实现最大值和最小值滤波的代码示例:
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. 滤波效果评估
通过计算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)
最终结果显示,中值滤波的效果最好。
实验小结
图像滤波实验是一个涉及图像处理和计算机视觉的实验,其主要目标是去除图像中的噪声、平滑图像以及提取图像中的特征。高斯滤波器可以平滑图像,但可能会模糊边缘;中值滤波器对椒盐噪声有很好的效果,但可能会导致图像变得模糊;而最大滤波、最小滤波可以增强边缘,但可能会增加噪声。通过实验比较,中值滤波在去除椒盐噪声方面效果最佳。
热门推荐
低压高,有多可怕?6大原因最常见,看看您是哪个?医生全面解读
高低压相差60,活不久?一直被忽视的脉压,原来这么重要
每天吃一点花生,对身体健康有什么益处?看看医学专家怎么说
用富士XT5征服亚拉雪山,拍出震撼大片!
亚拉雪山:神秘的藏传佛教圣地
亚拉雪山旅游全攻略:打卡川西美景
清算中心是什么单位?揭秘我国金融体系中的重要组成部分
《柳叶刀》:对抗抑郁,这样改善饮食、增加运动最有效!
佳能R5 ERR20故障解决攻略
古希腊神话之光:阿佛洛狄忒——爱之女神的绮丽篇章
低密度脂蛋白胆固醇高如何调控?做好风险分层,坚持对症治疗
龙眼树的风水作用与寓意
元旦打卡都江堰最佳摄影点!
国家康复师推荐:狭窄性腱鞘炎日常锻炼法
从de Quervain医生到现代:狭窄性腱鞘炎的预防与治疗
物理治疗新趋势:轻松应对狭窄性腱鞘炎
丑时起床挑战:一个看似有趣但……
丑时养肝正当时:传统养生智慧与现代科学解读
丑时养肝,你真的做对了吗?
秋冬养肝小妙招:科学护肝指南
服用熊去氧胆酸片期间的饮食禁忌与注意事项
中西医结合治疗PBC:新方案带来新希望
华佗再造丸:中风患者的福音?
华佗再造丸:中风防治与心血管疾病治疗的临床应用
秋冬养生必备:华佗再造丸正确使用指南
探索靜電消除器的原理與應用
上海地铁手机NFC使用方法
成都熊猫谷最新游玩攻略:打卡国宝大熊猫!
都江堰熊猫谷:揭秘大熊猫野化训练
揭秘都江堰大熊猫谷:野化训练与生态保护的典范