✨ 第一部分:线性标准滤波器——fspecial帮你“预制按摩头”

关键字:fspecial、线性标准滤波器、拉普拉斯滤波

🧠 初学者先懂:不用自己写滤波模板啦!MATLAB的

fspecial

是“滤波器预制工厂”——内置了平均、高斯、拉普拉斯等常用模板,直接调用就能生成,省事儿又标准。 内容详解: 📖

fspecial

语法:

w = fspecial('type', parameters)

,核心是选对“滤波器类型”:

  • 'average':平均滤波器(平滑去噪,比如3×3全1模板);
  • 'gaussian':高斯滤波器(更柔和的平滑,适合保留边缘的去噪);
  • 'laplacian':拉普拉斯滤波器(锐化图像,增强细节)。

🤖 重点案例:拉普拉斯滤波(课本例2.10,月球图像锐化)

% 1. 生成拉普拉斯模板(alpha=0对应中心-4、周围1的模板)
w = fspecial('laplacian', 0);

% 2. 读入并转换为浮点型(避免uint8截断负数)
f = imread('月球图.jpg');
f2 = tofloat(f); % 转成浮点型(支持正负值)

% 3. 用imfilter做滤波(replicate填充边缘)
g2 = imfilter(f2, w, 'replicate');

% 4. 原图像减去滤波结果(锐化公式:g = f - c*∇²f)
g = f2 - g2;

% 5. 显示锐化后的图
imshow(g); title('拉普拉斯锐化后的月球图');

💡 为啥要减?拉普拉斯是“二阶导数”,能突出边缘(对应滤波后的正负值),原图像减去它,就能让边缘更清晰(图2.17(d)比原图清晰多啦)! ☁️ 扩展:中心系数改成-8(周围1),锐化效果会更强(图2.18(c))——适合更模糊的图像!

👐 第二部分:非线性标准滤波器——ordfilt2/medfilt2的“排序魔法”

关键字:ordfilt2、medfilt2、中值滤波、排序滤波器

🧠 初学者再懂:非线性滤波不用自己写匿名函数啦!

ordfilt2

是“排序滤波器”,

medfilt2

是它的“中值滤波专用版”——专门对付“椒盐噪声”(图像上的白点黑点)。 内容详解: 📖

ordfilt2

(排序滤波):按邻域像素的排序结果替换中心像素

  • 最小值滤波:g = ordfilt2(f, 1, ones(3,3))(取邻域第1小的像素);
  • 最大值滤波:g = ordfilt2(f, 9, ones(3,3))(取邻域第9大的像素);
  • 中值滤波:g = ordfilt2(f, 5, ones(3,3))(取邻域第5个(中间)的像素)。

📖

medfilt2

(中值滤波专用):直接实现中值滤波(去椒盐噪声神器)

% 1. 给图像加椒盐噪声(白点+黑点)
fn = imnoise(f, 'salt & pepper', 0.2); % 20%的噪声

% 2. 中值滤波(3×3邻域,symmetric填充边缘)
gm = medfilt2(fn, [3 3], 'symmetric');

% 3. 显示结果
imshow(gm); title('中值滤波去椒盐噪声后的图');

🤖 为啥好用?椒盐噪声是“极端值”(0或255),中值滤波取邻域中间值,能直接把噪声点替换成正常像素——图2.19(c)的电路板图,噪声几乎全没了! 💡 技巧:用

'symmetric'

填充边缘,能避免滤波后边缘出现黑点(图2.19(d)比默认填充的边缘更干净)!

🎯 第三部分:啥时候用啥滤波器?——场景“按摩仪”选型指南

关键字:场景匹配、平滑、锐化、去噪

🧠 初学者懂应用:不同滤波器对应不同“图像问题”,选对工具效率翻倍: 内容详解: 1.

图像模糊→锐化

:用

fspecial('laplacian')

(拉普拉斯滤波),适合月球图、老照片; 2.

图像有噪点→平滑

:高斯噪声用

fspecial('gaussian')

,椒盐噪声用

medfilt2

; 3.

突出亮区域→最大值滤波

:用

ordfilt2(f, 9, ones(3,3))

,适合医学影像的高亮病灶; 4.

突出暗区域→最小值滤波

:用

ordfilt2(f, 1, ones(3,3))

,适合工业检测的暗裂纹。

🌟 总结:标准滤波器的“核心优势”

→ 不用自己写模板/函数:

fspecial

/

medfilt2

内置了常用滤波器,开箱即用; → 参数可调:拉普拉斯的alpha、中值滤波的邻域大小,能适配不同图像; → 效果稳定:是行业通用的标准方法,不会出现“自定义函数的bug”; 就像“超市里的现成调料包”——不用自己配,拿起来就能做菜,味道还靠谱!