TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 A" l/ U* W' b- w$ x: L, L* }! B一、简介. ?4 O. ?$ U P5 Z0 [5 w
数字图像在进行数学形态滤波去噪时,根据噪声特点可以尝试采用维数由小到大的结构元素来进行处理,进而达到滤除不同噪声的目的。采用数学形态学的多结构元素,可以更多地保持数字图像的几何特征.
( v0 C7 s, w0 X) G& N* r7 r$ }/ z" S" N! Z& `, h
; _: b& o' H8 w8 m8 A7 L
二、源代码' ^1 t8 B0 C, h7 [
0 l9 v* ^$ d6 `3 E) ^9 m- F
- %% Figure 1
- A = double(imread('retina.png'));
- A = A(:,:,2);
- x1=361;y1=493;
- x2=289;y2=207;
- Z1 = GAN(A,18,y1,x1,'CLIP');
- Z2 = GAN(A,18,y2,x2,'CLIP');
- Z = Z1+Z2;
- figure
- subplot(121);
- hold on;
- imshow(A,[]);
- plot(x1,y1,'w*');title('points (x_1,y_1) and (x_2,y_2)')
- plot(x2,y2,'w*');
- subplot(122);
- imshow(max(A,255*Z),[]);title('GANs of (x_1,y_1) and (x_2,y_2)')
- %% Figure 2
- A = double(imread('lena256.jpg'));
- se = strel('disk',2);
- A_dilation = imdilate(A,se);
- A_erosion = imerode(A,se);
- mtol = 20;
- A_GANdilation = GANdilation(A,A,mtol,'CLIP');
- A_GANerosion = GANerosion(A,A,mtol,'CLIP');
- figure
- subplot(231);imshow(A,[]);title('original');
- subplot(232);imshow(A_dilation,[]);title('classical dilation');
- subplot(233);imshow(A_erosion,[]);title('classical erosion');
- subplot(235);imshow(A_GANdilation,[]);title('GAN dilation');
- subplot(236);imshow(A_GANerosion,[]);title('GAN erosion');
- %% Figure 3
- A = double(imread('vaisseaux3.png'));
- C = floor(imContrasteLIP(A));
- B_CLIP = toggleContrastCLIP(A,5);
- B_LIP = GANtoggleContrastLIP(A,255-C,30);
- figure
- subplot(221);imshow(A,[]);title('original');
- subplot(222);imshow(C,[]);title('LIP contrast');
- subplot(223);imshow(B_CLIP,[]);title('classical toggle contrast');
- subplot(224);imshow(B_LIP,[]);title('GAN toggle contrast');
- %% Figure 4
- A = double(imread('lena256.jpg'));
- Anoisy = double(uint8(255*imnoise(A/255,'salt & pepper',0.02)));
- fun = @(x) median(x(:));
- B = nlfilter(Anoisy,[3 3],fun);
- C = GANmedian(Anoisy,Anoisy,20,'CLIP');
- D = ZGANmedian(Anoisy,Anoisy,20,'CLIP',4);
- figure
- subplot(231);imshow(A,[]);title('noise free'); title('original');
- subplot(232);imshow(Anoisy,[]);title('noisy');title('noisy');
- subplot(234);imshow(B,[]);title('classical median');title('classical median');
- subplot(235);imshow(C,[]);title('GAN median');title('GAN median');
- subplot(236);imshow(D,[]);title('Z-GAN median');title('Z-GAN median');
- 8 n9 t @8 U0 \" O% p! \
/ v M! W$ ]: ~" |3 {8 g% t
" f% T/ Y b/ _
6 _/ a: l: ]5 Y9 x% \! e" c7 r三、运行结果
6 ?2 i9 F; T" _/ n4 A# [$ l! n- N" ]5 P" R+ ]
) M2 h4 x: V2 ^1 I8 e) ?, u
6 `$ k4 y1 t% Q! v# @* Q0 } |
|