|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
, B2 u5 D- e" v, D3 q! \MATLAB源程序代码分享:MATLAB实现图像的中值滤波 均值滤波 维纳滤波: o$ Y9 ^- m) r4 C& I
%% 读入原始的彩色图片, 并显示
( P) H- N9 G% v! I u! yclear;clc;close all4 D6 ~8 A# o) Q+ |. Q
I=imread('tupian.jpg'); ( ?" }/ T8 i+ P7 T
figure
; w: m% v( ^- G' D1 qset(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]); % 设置 figure 窗口的位置和尺寸% q: R. ~, z7 P4 ~4 M" K4 u0 ^' E
subplot(2,3,1)* p6 S" j8 L. V* M7 _! x% k" I8 Y
imshow(I)
; }$ r) Z" a6 f! d9 ptitle('原始彩色图像') 4 O% q/ h/ U& P8 W; o0 h: p
& a& |' o2 k5 ~' w: E% `- Z%% 将彩色图像转换成灰度图像, 并显示
6 g- f- B* e7 `4 D% yI=rgb2gray(I); % rgb 图转换成灰度图
, \ k5 Z6 L$ ^, |subplot(2,3,2)) L$ d1 K" `2 R0 S$ D
imshow(I)
, E6 d' b+ s6 A9 Z4 F: ntitle('原始灰度图像') ! S2 p" f+ _0 V y
) x0 c; h8 M% m0 Z1 K8 Z4 q, F" N/ r3 H%% 给灰度图像添加椒盐噪声, 并显示噪声图像* K; d; T7 v# S) N% [# E
I1=imnoise(I,'salt & pepper',0.1); % 原图添加椒盐噪声, 得到添加噪声之后的图 I12 f2 X' ~1 X7 E( C+ ^& U5 G
subplot(2,3,3)
; W5 V. U' }% l+ s7 S0 V. A2 U2 qimshow(I1)! B5 c) S9 C+ ?, C3 c7 `
title('添加椒盐噪声之后的图') - \0 f: D9 G/ m/ C; ~1 G1 B3 i0 z/ v
% T" V* d' c. J* }& v4 f%% 对噪声图像执行中值滤波, 并显示
y2 K) ^% J+ f/ n" |I2=medfilt2(double(I1)); % 对 I1 执行中值滤波( z j$ ~4 A/ ]5 b1 z3 M
subplot(2,3,4)
0 X' [7 J1 ?3 Cimshow(uint8(I2))2 j3 w- O8 i- U1 D, M& u
title('中值滤波之后的图')
/ N; K7 [( I b3 z4 T! H! h' t; A5 _( ]- U$ K& g2 U7 S7 O
%% 对噪声图像执行均值滤波, 并显示# p; B% ?4 o& f6 p9 O& F0 [
h=fspecial('average',[5 5]); % 定义 5*5 的均值滤波器模板
- q# M' y6 a* T) UI3=filter2(h,double(I1)); % 使用均值滤波器模板, 对 I1 执行均值滤波% E2 |, Q h g5 X2 P2 r: Q& t
subplot(2,3,5), o6 X9 D) ]) L2 y& O, V
imshow(uint8(I3)): L( r: M; U; F7 s- ?
title('均值滤波之后的图'): z# S c! ~! w( D2 G" R) b
8 C2 c% W! z7 V V5 ~
%% 对噪声图像执行维纳滤波, 并显示2 j! e1 r6 }' S) j
I4=wiener2(double(I1),[5 5]); % 对 I1 执行维纳滤波( r0 P3 V- A: B4 ?
subplot(2,3,6)+ R* H' B9 R7 v3 {1 [0 ?
imshow(uint8(I4))) q4 h% s! C0 N7 n: v5 @. M/ X: S
title('维纳滤波之后的图') |
|