当当当!今天的封面又是快乐小狗~话不多说,上报告!
3.21是给图像添加噪声,源代码如下:
本子上给的代码和要求输出的不一样,代码输出结果是盐噪声,要求输出椒盐噪声,所以做了修改,将“salt”修改为了“s&p"以确保我们得到的输出结果是椒盐噪声。且因为高斯噪声的方差为0.05时输出结果不明显,将方差更改为0.3。
输出结果如下图:
3.22随着滤波器变大,虽然去噪效果更好,但是模糊程度也更大。源代码:
输出结果如下:
3.23为了能够在获取更好的滤波效果的同时又保证图像的清晰度,使用了加权平均滤波器。
代码如下:
结果如下:
3.24略
3.25空域锐化常用的方式是通过梯度算子进行滤波,一般使用的梯度算子有 Roberts、Prewitt和


接下来是第二个任务,即改写代码。要求是写一个程序,分别对一幅被均匀噪声和椒盐噪声污染的图像,用均值滤波、高斯滤波和中值滤波器处理,对比分析结果。
好嘛,直接大锅炖走起。
在这个地方做了一个更加严谨化的处理,即加入了“文件是否存在”的检查,使代码更加具有可读性。输出结果如下:
任务三要求不使用matpolot库,仅使用OpenCV库,来编写均值滤波器和中值滤波器的底层实现代码。
源代码如下:
是一些比较常规的用法,输出结果:
Matplotlib 方法的优点在于可视化质量卓越、标注功能完善、交互式调试、布局自动化等,缺点在于处理性能低下、内存消耗高、与 OpenCV 兼容性差等。
OpenCV 方法优点在于处理效率极致、硬件加速支持、工业级可靠性、无 GUI 依赖等,缺点有可视化功能简陋、调试能力弱、文档可读性差等问题。