|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' @6 E, Q$ w9 r& P wMATLAB源程序代码分享:MATLAB实现图像的中值滤波 均值滤波 维纳滤波3 h) |" R) H7 j( T& s0 T
%% 读入原始的彩色图片, 并显示7 B8 Y* L) A* c9 g8 b
clear;clc;close all2 d) l: n+ S- s. @7 l# ]
I=imread('tupian.jpg');
! b( J: W, M5 x/ s9 s+ b$ `2 M# Y/ Qfigure& f& C( h4 ~$ }, r
set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]); % 设置 figure 窗口的位置和尺寸4 t9 }' n/ E( D: o% `, t
subplot(2,3,1)
) q5 N& ?8 J& ]- }2 a' w; ^6 a Z) Q- Qimshow(I)$ {- [3 j+ w8 \6 n7 t
title('原始彩色图像')
" x$ c2 l8 d" ^+ A5 h/ T2 C' L# l; W7 X! J
%% 将彩色图像转换成灰度图像, 并显示
2 \9 z5 |' Y' q; }1 P1 A: J# P1 \I=rgb2gray(I); % rgb 图转换成灰度图# }, B3 l0 X0 U. o) O6 {* `
subplot(2,3,2)
* N% K( b& O* E C0 v( G6 B' Aimshow(I)1 O2 n/ d$ y/ l* u
title('原始灰度图像') & H2 w; M, ] H8 V9 B9 i
( {- G- U' Z4 C! x% U%% 给灰度图像添加椒盐噪声, 并显示噪声图像; c% r. W! U' n" H0 `7 C, Y0 {
I1=imnoise(I,'salt & pepper',0.1); % 原图添加椒盐噪声, 得到添加噪声之后的图 I1% A4 n; j7 j9 b- Z: g9 S; z* D4 E
subplot(2,3,3)
6 p% V$ y) V* }3 ~imshow(I1)
S' l8 q$ r( `: }- Rtitle('添加椒盐噪声之后的图')
1 j- U8 [5 B% t3 \
" u, z% I" [5 _1 t5 v1 w%% 对噪声图像执行中值滤波, 并显示
1 i' S9 A8 ?) U$ |. z5 U/ PI2=medfilt2(double(I1)); % 对 I1 执行中值滤波- w7 K4 u6 s" l* X4 k
subplot(2,3,4)1 ?6 L4 H9 A& f/ ^& J4 O
imshow(uint8(I2))
$ m8 w' ~# r1 p0 n3 }title('中值滤波之后的图'), g6 T( C8 R! Z! f& n, D; I
# T4 l& B0 M) t |% Q5 A6 ]+ \%% 对噪声图像执行均值滤波, 并显示" d) t& H4 o' k2 D+ s! m
h=fspecial('average',[5 5]); % 定义 5*5 的均值滤波器模板9 u& O3 J: T5 \' Y: d
I3=filter2(h,double(I1)); % 使用均值滤波器模板, 对 I1 执行均值滤波
: b, o% r% q3 csubplot(2,3,5)
! \2 U) V: s! r# D$ B ]2 K0 Limshow(uint8(I3))
+ Y$ G# V; R N+ v# I3 i, Q/ Utitle('均值滤波之后的图')
( y0 a$ ~/ _1 v; ?7 U N0 C" a. p) F* l
%% 对噪声图像执行维纳滤波, 并显示
9 v* r) |3 P4 HI4=wiener2(double(I1),[5 5]); % 对 I1 执行维纳滤波% w% F! |" k' R+ \0 _, S' d/ f
subplot(2,3,6)
% Y: S3 w( d: Q$ Z# ?& S( pimshow(uint8(I4)), k% A- {7 y# ]5 ~' b4 r6 O
title('维纳滤波之后的图') |
|