1. 程式人生 > >數字影象處理--影象增強MATLAB程式

數字影象處理--影象增強MATLAB程式

影象增強是增強影象中的有用資訊,它可以是一個失真的過程,其目的是要改善影象的視覺效果,針對給定影象的應用場合。有目的地強調影象的整體或區域性特性,將原來不清晰的影象變得清晰或強調某些感興趣的特徵,擴大影象中不同物體特徵之間的差別,抑制不感興趣的特徵,使之改善影象質量、豐富資訊量,加強影象判讀和識別效果,滿足某些特殊分析的需要。

1 影象增強--灰度

//灰度
P=imread('66.jpg');
I=rgb2gray(P);
subplot(231);imshow(I,[]);title('原始影象');
subplot(234);imhist(I);title('由原始影象得到的直方圖');
J=imadjust(I,[0.15 0.9],[0 1]);
subplot(232);imshow(J);title('由新直方圖得到的新影象');
subplot(235);imhist(J);title('利用imadjust調節後的新直方圖');
K=histeq(I);
subplot(233);imshow(K);title('由均衡化後的直方圖得到的均衡後的影象');
subplot(236);imhist(K);title('均衡化後的直方圖');

實驗結果

2 影象增強--平滑

//平滑
P=imread('66.jpg');
I=rgb2gray(P);
subplot(221);imshow(I);title('原始影象');
I1=imnoise(I,'salt & pepper'); 
subplot(222);imshow(I1);title('加入椒鹽噪聲後的影象'); 
h1=ones(3,3)/9;
h2=ones(5,5)/25;
K1=imfilter(I1,h1);
K2=imfilter(I1,h2);
%subplot(334),imshow(I),title('原始影象');
%subplot(337),imshow(I),title('原始影象');
subplot(223),imshow(K1,[]),title('加入椒鹽噪聲後3*3平均濾波');
subplot(224),imshow(K2,[]),title('加入椒鹽噪聲後5*5平均濾波');

I2=imnoise(I,'gaussian',0,0.005); 
figure;
subplot(221);imshow(I);title('原始影象');
subplot(222);imshow(I2);title('加入高斯噪聲後的影象');
h1=ones(3,3)/9;
h2=ones(5,5)/25;
K1=imfilter(I2,h1);
K2=imfilter(I2,h2);
subplot(223),imshow(K1,[]),title('加入高斯噪聲後3*3平均濾波');
subplot(224),imshow(K2,[]),title('加入高斯噪聲後5*5平均濾波');

figure;
subplot(321);imshow(I1);title('加入椒鹽噪聲後的影象'); 
subplot(322);imshow(I2);title('加入高斯噪聲後的影象');
J1=medfilt2(I1);
J3=medfilt2(I2);
J2=medfilt2(I1,[5 5]);
J4=medfilt2(I2,[5 5]);
subplot(323),imshow(J1),title('加入椒鹽噪聲後3*3視窗中值濾波');
subplot(324),imshow(J3),title('加入椒鹽噪聲後5*5視窗中值濾波');
subplot(325),imshow(J2),title('加入高斯噪聲後3*3視窗中值濾波');
subplot(326),imshow(J4),title('加入高斯噪聲後5*5視窗中值平均濾波');

實驗結果

                                                                                                    加入高斯噪聲

                                                                                                     加入椒鹽噪聲

                                                                                                          平滑中值

3 影象處理--銳化

//銳化
P=imread('66.jpg');
I=rgb2gray(P);
subplot(221);imshow(I,[]);title('原始影象');
K=histeq(I);
subplot(222);imshow(K);title('由均衡化後的直方圖得到的均衡後的影象');
BW=edge(K,'roberts',0.1);
subplot(223);imshow(BW);title('均衡後的影象羅伯茨梯度銳化');
h=[0 -1 0;-1 4 -1;0 -1 0];
J=imfilter(I,h);
subplot(224);imshow(J);title('均衡後的影象拉普拉斯銳化');

實驗結果

下一篇 數字影象處理--影象的壓縮