首頁 > 軟體

【matlab數位影像處理實驗】影象的增強

2019-12-25 21:07:15
實驗內容
1.給影象加入高斯噪聲、椒鹽噪聲。
2. 對加入噪聲的影象進行平滑處理,並比較各種方法以及模版的異同、優缺。
3. 利用銳化模板對影象進行銳化處理。

1

加入噪聲
I=imread('lene.jpg');%讀取影象
K=rgb2gray(I);
J=imnoise(K,'gaussian',0,0.01);%給影象加高斯噪聲
subplot(1,2,1);imshow(J);
title('加入高斯噪聲的影象');
H = IMNOISE(K,'salt & pepper',0.02);%給影象加椒鹽噪聲
subplot(1,2,2);imshow(H);
title('加入椒鹽噪聲的影象');

2

影象的平滑
鄰域平均模板
加權平均模板



3

鄰域平均
M1=(1/4)*[0,1,0;1,0,1;0,1,0];
M2=(1/8)*[1,1,1;1,0,1;1,1,1];
L=imfilter(J,M1);
G=imfilter(J,M2);
subplot(1,2,1);imshow(L);
title('4鄰域平均')
subplot(1,2,2);imshow(G);
title('8鄰域平均')


4

加權平均
M3=(1/5)*[0,1,0;1,1,1;0,1,0];
M4=(1/16)*[1,2,1;2,4,2;1,2,1];
L=imfilter(J,M3);
G=imfilter(J,M4);
subplot(1,2,1);imshow(L);
title('1/5加權平均')
subplot(1,2,2);imshow(G);
title('1/16加權平均')

5

影象的銳化
拉普拉斯模板

Laplacian銳化模板


I=imread('fabric.png');%讀取影象
K=rgb2gray(I);
M1=[0,1,0;1,-4,1;0,1,0];
M2=[1,1,1;1,-8,1;1,1,1];
K=double(K);
J=conv2(K,M1,'same'); %折積
G=conv2(K,M2,'same');
F=K-J;
E=K-G;
figure,imshow(K,[]),
figure,imshow(J),
figure,imshow(G),
figure,imshow(F,[])
figure,imshow(E,[])
原影象

4-鄰域

8-鄰域
4-鄰域銳化影象

8-鄰域銳化影象






1

平均濾波和加權濾波的效果都不怎麼好,不能完全除去高斯噪聲,它們對椒鹽噪聲的處理效果比較理想但仍舊存在提升的空間;另外,在對4鄰域8鄰域的比較以及1/5加權以及1/16加權平均的比較可以看出,多領域的處理效果比較好,但是它的缺點是會引起影象的模糊。可以肯定的是不同的模版其效果不同,對特定的影象要使用特定的模版。

2

影象變模糊的原因一般為成像系統聚焦不好、通道過窄以及平均過積分運算。影象的銳化使得目標物輪廓變模糊,細節輪廓不清晰,加重目標物輪廓,使模糊影象變清晰。拉普拉斯運算元是常用的邊緣增強運算元,拉普拉斯運算也是偏導數運算的線性組合運算,而且是一種各向同性(旋轉不變性)的線性運算。

3

在比較4鄰域以及8鄰域的銳化影象我們可以發現,4鄰域銳化在邊緣以及與原影象的相似程度上都有比較滿意的效果,8鄰域銳化在灰度級對比上比4鄰域更加優秀,但它的一個缺點是丟失了一部分影象細節,從而導致圖片看起來變得「模糊」。

IT145.com E-mail:sddin#qq.com