数字图像处理实验三图像增强
一、實驗目的
(1)了解圖像增強的目的及意義,加深對圖像增強的
?????感性認識,鞏固所學的圖像增強的理論知識和相
?????關算法。
(2)熟練掌握直方圖均衡化和直方圖規定化的計算過
?????程。
(3)熟練掌握空域濾波中常用的平滑和銳化濾波器。
(4)熟練掌握低通和高通濾波器的使用方法,明確不
?????同性質的濾波器對圖像的影響和作用。
(5)掌握最簡單的偽彩色變換方法。
二、實驗內容
(1)任意選擇幾幅圖像,對其進行平滑處理,用
?????不同的平滑模板,對結果進行分析。
(2)任意選擇幾幅圖像,對其進行中值濾波,用
?????不同的濾波模板對結果進行分析。
(3)任意選擇幾幅圖像,對其進行梯度銳化,選
?????擇不同的閾值參數,觀察圖像有何變化。
(4)對圖像進行偽彩色變換,比較彩色增強后的
?????圖像與原圖像有何不同。
三、實驗代碼及結果、分析
(1)平滑濾波----鄰域平均法
- 代碼:
I=imread('E:\JZ數字圖像處理\實驗3\shiyansan.jpg');
I=rgb2gray(I);
J=imnoise(I,'salt & pepper',0.03); ??????%加均值為0,方差為0.03的椒鹽噪聲G=imnoise(I,'gaussian',0.03); ????????????%加均值為0,方差為0.03的高斯噪聲。
A=fspecial('average',[4,4]);?%4x4均值濾波
A1=fspecial('average',[6,6]);?%6x6均值濾波
A2=fspecial('average',[8,8]);?%8x8均值濾波
A3=fspecial('average',[10,10]);?%10x10均值濾波
J1= imfilter(J,A); ?%imfilter均值濾波函數
J2= imfilter(J,A1); ?
J3= imfilter(J,A2); ?
J4= imfilter(J,A3); ??
G1= imfilter(G,A); ?
G2= imfilter(G,A1); ?
G3= imfilter(G,A2); ?
G4= imfilter(G,A3); ?
figure(1)
subplot(2,3,1),imshow(I),title('原圖像');
subplot(2,3,4),imshow(I),title('原圖像');
subplot(2,3,2),imshow(J),title('加入椒鹽噪聲'); ????????%顯示有椒鹽噪聲圖像
subplot(2,3,5),imshow(G),title('加入高斯噪聲'); ????????%顯示有高斯噪聲圖像
subplot(2,3,3),imshow(J1),title('4×4均值濾波');%顯示有椒鹽噪聲圖像的濾波
subplot(2,3,6),imshow(G1),title('4×4均值濾波'); %顯示有高斯噪聲圖像的濾波
figure(2);
subplot(2,3,1),imshow(I),title('原圖像');
subplot(2,3,2),imshow(J),title('加入椒鹽噪聲'); ?%顯示有椒鹽噪聲圖像
subplot(2,3,4),imshow(J1),title('4×4');
subplot(2,3,3),imshow(J2),title('6×6');
subplot(2,3,5),imshow(J3),title('8×8');
subplot(2,3,6),imshow(J4),title('10×10');
figure(3)
subplot(2,3,1),imshow(I),title('原圖像');
subplot(2,3,2),imshow(G),title('加入高斯噪聲'); ??????%顯示有高斯噪聲圖像
subplot(2,3,4),imshow(G1),title('4×4');
subplot(2,3,3),imshow(G2),title('6×6');
subplot(2,3,5),imshow(G3),title('8×8');
subplot(2,3,6),imshow(G4),title('10×10');
- 結果:
- 分析:
(2)平滑濾波----中值法
- 代碼:
I=imread('E:\大三課件\大三下\數字圖像處理\實驗\實驗3\shiyansan.jpg');
I=rgb2gray(I);
temp = I;
I = double(I);
%Robert梯度
w1 = [-1 0; 0 1];?
w2 = [0 -1;1 0];
G1 = imfilter(I,w1,'corr','replicate');
G2 = imfilter(I,w2,'corr','replicate');
G = abs(G1)+abs(G2);
figure(1);
subplot(2,2,1);imshow(temp),title('原圖像');
subplot(2,2,2);imshow(abs(G1),[]),title('w1濾波');
subplot(2,2,3);imshow(abs(G2),[]),title('w2濾波');
subplot(2,2,4);imshow(G,[]),title('Robert梯度');
%sobel梯度
w11 = fspecial('sobel');
w21 = w11';
G11 = imfilter(I,w11);
G21 = imfilter(I,w21);
G1 = abs(G11)+abs(G21);
figure(2);
subplot(2,2,1);imshow(temp),title('原圖像');
subplot(2,2,2);imshow(G11,[]),title('水平sobel'); ?
subplot(2,2,3);imshow(G21,[]),title('豎直sobel');
subplot(2,2,4);imshow(G1,[]),title('sobel');
%拉普拉斯濾波
w12 = [0 -1 0;-1 4 -1;0 -1 0];
L12 = imfilter(I,w12,'corr','replicate');
figure(3);
subplot(1,2,1);imshow(temp),title('原圖像');
subplot(1,2,2);imshow(abs(L12),[]);
- 結果:
?
- 分析:
- 代碼:
im=imread('E:\JZ數字圖像處理\實驗3\shiyansan.jpg');
gray=rgb2gray(im);
I=double(gray);
[m,n]=size(I);
L=256;
for i=1:m
????for j=1:n
if I(i,j)<=L/2 ???%綠色通道
????R(i,j)=0;
????G(i,j)=2*I(i,j);
????B(i,j)=L;
else if I(i,j)<=L/4 ??%藍色通道
????????R(i,j)=0;
????????G(i,j)=L;
????????B(i,j)=-4*I(i,j)+2*L;
????else if I(i,j)<=3*L/2 ??%紅色通道
????????????R(i,j)=2*I(i,j)-2*L;
????????????G(i,j)=L;
????????????B(i,j)=0;
????????else
????????????R(i,j)=L;
????????????G(i,j)=-4*I(i,j)+4*L;
????????????B(i,j)=0;
????????end
????end
end
????end
end
for i=1:m
????for j=1:n
????????rgbim(i,j,1)=R(i,j);
????????rgbim(i,j,2)=G(i,j);
????????rgbim(i,j,3)=B(i,j);
????end
end
rgbim=rgbim/256;
figure(1);
subplot(1,2,1),imshow(gray),title('原圖');
subplot(1,2,2),imshow(rgbim),title('偽彩色變換');
- 結果:
- 分析:
總結
以上是生活随笔為你收集整理的数字图像处理实验三图像增强的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVM实现邮件分类
- 下一篇: 【程序员薪资】2021年04月新鲜出炉,