Matlab图像处理(四)——常用滤波的实现
点击蓝字 关注我们 前面一讲我们已经讲解了滤波的原理和公式,为了让小伙伴更加熟悉基本原理,本将中我们采用了自编写滤波函数和Matlab自带的函数两种方式来实现中值滤波、均值滤波和高斯滤波。 小伙伴可以通过点击文末“ 阅读原文 ”直接获取本文所用程序。 准备工作 在进行滤波之前需要进行一些准备操作,也就是需要找含有噪声的图片。对了突出效果、方便比较,小白用程序生成了椒盐和高斯两种噪声。 1 clear all 2 A=imread('origin.jpg'); 3 A=rgb2gray(A); 4 B=imread('xiaobai.jpg'); 5 A_gaussian = imnoise(A,'gaussian',0,39*39/(255*255)); %加入噪声函数,通过后面关键字来选取加入噪声的类型,后面两个数是高斯噪声的均值和σ 6 A_salt_pepper=imnoise(A,'salt & pepper',0.05); %加入噪声函数,加入椒盐噪声,后面的参数是椒盐噪声的密度 上面代码已经给出了注释,部分函数由于在前几讲中已经出现,所以没有再次叙述。生成的两张含有噪声的图片如下: 高斯噪声 椒盐噪声 自编均值滤波实现 在自己写函数实现均值滤波的时,主要分为4个步骤:生成滤波模板、延拓被滤波图像、像素位置遍历滤波、裁剪滤波后图像。通过程序来进一步了解该过程。 1 n=