《圖像上機(jī)實(shí)驗(yàn).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《圖像上機(jī)實(shí)驗(yàn).doc(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
實(shí)驗(yàn)一 圖像處理的基本操作
一,實(shí)驗(yàn)?zāi)康?
1.熟悉有關(guān)數(shù)字圖像處理的MATLAB基本操作和編寫;
2.掌握數(shù)字圖像的基本讀寫、顯示與保存;
3.能夠利用MATLAB工具箱完成圖像處理的基本運(yùn)算;
二,實(shí)驗(yàn)內(nèi)容
1.(1)讀取圖像并顯示真彩色圖像house.tiff;
(2)讀取圖像并顯示索引色圖像canoe.tif,并轉(zhuǎn)換為灰度圖像;
(3)讀取圖像并顯示灰度圖像rice.png,并轉(zhuǎn)換為二進(jìn)制圖像;
(4)檢測(cè)內(nèi)存中的圖像和保存圖像;
2.查看不同分辨率下圖像lena.tiff的顯示結(jié)果;
3.對(duì)彩色圖像Peppers.png觀看GRB通道各單通道圖像;
4.實(shí)現(xiàn)馬赫帶效應(yīng)并畫出灰度直方圖。
三,代碼
I=imread(house.tiff);
figure(1)
imshow(I)
[A,map]=imread(canoe.tif);
figure(2)
subplot(121)
imshow(A,map)
D=ind2gray(A,map);
subplot(122)
imshow(D)
G=imread(rice.png);
figure(3)
subplot(121)
imshow(G)
th=graythresh(G);H=im2bw(G,th);
subplot(122)
imshow(H)
whos;imwrite
B=imread(lena.tiff);
figure(4),
subplot(121)
imshow(B)
C = imresize(B, 0.2)
subplot(122)
imshow(C)
D=imread(Peppers.png);
r=D,r(:,:,[2 3])=0;
g=D,g(:,:,[1 3])=0;
b=D,b(:,:,[1 2])=0;
figure(5),
subplot(1,3,1),imshow(r);
subplot(1,3,2),imshow(g);
subplot(1,3,3),imshow(b);
a=zeros(256,256);
for i=1:32:256
a(:,i:i+32)=i;
end
figure(6);
subplot(121)
imshow(uint8(a));
subplot(122)
imhist(uint8(a));
四,實(shí)驗(yàn)結(jié)果
五,結(jié)果分析
從運(yùn)行結(jié)果可以看出,實(shí)驗(yàn)還是比較成功的。但是在做索引色那個(gè)圖像的時(shí)候,如果索引色和灰度圖像放在同一個(gè)figure里,索引色圖像顯示的也是灰色,因此我只能把索引色圖像和灰度圖像分開放到兩個(gè)figure里。在查看不同分辨率下圖像lena.tiff的顯示結(jié)果時(shí),必須要對(duì)兩個(gè)圖像進(jìn)行放大查看才能看出不同。
實(shí)驗(yàn)二 圖像變換1
一,實(shí)驗(yàn)?zāi)康?
1.熟悉有關(guān)MATLAB工具箱中提供的圖像變換函數(shù);
2.掌握傅立葉變換和小波變換等常用的正交變換函數(shù);
二,實(shí)驗(yàn)內(nèi)容
1.對(duì)圖像lena.png進(jìn)行傅立葉變換和離散余弦變換,并分別求出其逆變換后重構(gòu)圖像的均方誤差;
2.實(shí)現(xiàn)圖像lena.png的兩層小波分解,觀察分解系數(shù)并重構(gòu),求重構(gòu)圖像誤差值;
3.觀察圖像IM1.BMP經(jīng)小波分解系數(shù)的方向性,實(shí)現(xiàn)三層小波分解,分別把HL,LH,HH子帶置零和重構(gòu),觀察重構(gòu)圖像跟原始圖像的差異。
三,代碼
%1.對(duì)圖像lena.png進(jìn)行傅立葉變換和離散余弦變換,
% 并分別求出其逆變換后重構(gòu)圖像的均方誤差;
clear;
clc;
I=imread(lena.png);
%傅里葉變換
figure(1);
I1=fft2(I);
I1=fftshift(I1);
If=ifftshift(I1);
If=uint8(real(ifft2(If)));
subplot(231);
imshow(I);
subplot(232);
imshow(log(abs(I1)),[]);
subplot(233);
imshow(If);
[m,n]=size(I); %計(jì)算均方誤差
for i=1:m
for j=1:n
temp(i,j)=(If(i,j)-I(i,j))^2;
end
end
wucha1=sum(sum(temp))
%離散余弦變換
I2=dct2(I);
I3=fftshift(I2);
Id=idct2(I2);
Id=uint8(real(Id));
subplot(234);
imshow(I);
subplot(235);
imshow(log(abs(I3)),[]);
subplot(236);
imshow(Id);
[m,n]=size(I); %計(jì)算均方誤差
for i=1:m
for j=1:n
temp(i,j)=(If(i,j)-I(i,j))^2;
end
end
wucha2=sum(sum(temp))
%%
% 2.實(shí)現(xiàn)圖像lena.png的兩層小波分解,觀察分解系數(shù)并重構(gòu),求重構(gòu)圖像誤差值;
X=imread(lena.png);
[c,s]=wavedec2(X,2,bior3.7);
a1=wrcoef2(a,c,s,bior3.7,1);
h1=wrcoef2(h,c,s,bior3.7,1);
v1=wrcoef2(v,c,s,bior3.7,1);
d1=wrcoef2(d,c,s,bior3.7,1);
c1=[a1,h1;v1,d1];
c1=uint8(c1);
Xr=waverec2(c,s,bior3.7);
figure(2);
subplot(131);
imshow(X);
subplot(132);
imshow(c1);
subplot(133);
imshow(uint8(Xr));
[m,n]=size(X); %計(jì)算均方誤差
for i=1:m
for j=1:n
temp(i,j)=(Xr(i,j)-I(i,j))^2;
end
end
wucha3=sum(sum(temp))
%%
% 3.觀察圖像IM1.BMP經(jīng)小波分解系數(shù)的方向性,實(shí)現(xiàn)三層小波分解,
% 分別把HL,LH,HH子帶置零和重構(gòu),觀察重構(gòu)圖像跟原始圖像的差異。
P=imread(C:\shiyan2\IM1.BMP);
[c,s]=wavedec2(P,3,bior3.7);
a1=wrcoef2(a,c,s,bior3.7,1);
h1=wrcoef2(h,c,s,bior3.7,1);
v1=wrcoef2(v,c,s,bior3.7,1);
d1=wrcoef2(d,c,s,bior3.7,1);
c1=[a1,h1;v1,d1];
c1=uint8(c1);
figure(3);
subplot(131);
imshow(P);
subplot(132);
imshow(c1);
subplot(133);
imshow(uint8(a1));
四,實(shí)驗(yàn)結(jié)果
五,實(shí)驗(yàn)結(jié)果
從運(yùn)行結(jié)果可以看出,實(shí)驗(yàn)還是比較成功的。上圖分別是1.對(duì)圖像lena.png進(jìn)行傅立葉變換和離散余弦變換,并分別求出其逆變換后重構(gòu)圖像的均方誤差;2.實(shí)現(xiàn)圖像lena.png的兩層小波分解,觀察分解系數(shù)并重構(gòu),求重構(gòu)圖像誤差值;3.觀察圖像IM1.BMP經(jīng)小波分解系數(shù)的方向性,實(shí)現(xiàn)三層小波分解,分別把HL,LH,HH子帶置零和重構(gòu),觀察重構(gòu)圖像跟原始圖像的差異。最后求得誤差均為零,我認(rèn)為這可能是重構(gòu)方法均是使用matlab自帶函數(shù)的原因,使得重構(gòu)圖像與原圖幾乎一樣。
實(shí)驗(yàn)三 圖像變換2
一,實(shí)驗(yàn)?zāi)康?
1.熟悉有關(guān)圖像增強(qiáng)的直方圖方法;
2.掌握傅立葉變換和離散余弦變換等常用的正交變換函數(shù);
二,實(shí)驗(yàn)內(nèi)容
1.實(shí)現(xiàn)對(duì)圖像IM2.BMP進(jìn)行直方圖均衡化,從而達(dá)到增強(qiáng)圖像的目的,觀察圖像直方圖的前后變化;
2.實(shí)現(xiàn)對(duì)圖像IM3.BMP加入某種噪聲(如椒鹽噪聲等),運(yùn)用低通濾波和中值濾波分別進(jìn)行圖像平滑;
3.實(shí)現(xiàn)對(duì)圖像IM4.BMP的同態(tài)增強(qiáng):對(duì)照明分量和反射分量進(jìn)行同態(tài)濾波。
三,代碼
clear;
clc;
% 實(shí)現(xiàn)對(duì)圖像IM2.BMP進(jìn)行直方圖均衡化,從而達(dá)到增強(qiáng)圖像的目的,
% 觀察圖像直方圖的前后變化
i=imread(IM2.BMP);
j=histeq(i);
figure(1);
subplot(221);
imshow(i);
title(原始圖像);
subplot(222);
imshow(j);
title(均衡化圖像);
subplot(223);
imhist(i,64);
title(原始直方圖);
subplot(224);
imhist(j,64);
title(均衡化直方圖);
% 實(shí)現(xiàn)對(duì)圖像IM3.BMP加入某種噪聲(如椒鹽噪聲等),
% 運(yùn)用低通濾波和中值濾波分別進(jìn)行圖像平滑
k=imread(IM3.BMP);
l=imnoise(k,salt & pepper,0.02);
figure(2);
subplot(221);
imshow(k);
title(原始圖像);
subplot(222);
imshow(l);
title(噪聲圖像);
p=medfilt2(l);
subplot(223);
imshow(p);
title(中值濾波圖像);
f=double(l);
g=fftshift(fft2(f));
[N1,N2]=size(g);
n=2; %butterworth濾波器的參數(shù)n=2
d0=50; %d0為截止頻率(與原點(diǎn)的距離)
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=2:N2
d=sqrt((i-n1)^2+(j-n2)^2);
h=1/(1+0.414*(d/d0)^2*n);
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
x2=ifft2(result);
x3=uint8(real(x2));
subplot(224);
imshow(x3);
title(butterworth低通濾波圖像);
%實(shí)現(xiàn)對(duì)圖像IM4.BMP的同態(tài)增強(qiáng):對(duì)照明分量和反射分量進(jìn)行同態(tài)濾波
%圖像的動(dòng)態(tài)范圍壓縮,圖像的對(duì)比度增強(qiáng),類似于高通濾波
clear;
figure;
I=imread(IM4.BMP);
I1=log(double(I)+1);
I2=fft2(I1);
n=3;
d0=5;
rh=0.1;
rl=0.05;
[row,col]=size(I2);
for i=1:row
for j=1:col
d1(i,j)=sqrt(i^2+j^2);
h(i,j)=rl+(rh/(1+(d0/d1(i,j)^(2*n))));
end
end
I3=I2.*h;
I4=ifft2(I3);
I5=exp(I4)-1;
subplot(121);
imshow(I);
title(原始圖像);
subplot(122);
imshow(I5);
title(同態(tài)濾波);
四,實(shí)驗(yàn)結(jié)果
五,結(jié)果分析
從運(yùn)行結(jié)果可以看出,實(shí)驗(yàn)還是比較成功的。但在加入椒鹽噪聲后進(jìn)行高斯低通濾波的實(shí)驗(yàn)中,高斯低通濾波并不能完美的把噪聲濾掉,圖像中依然存在噪聲,雖然變得不明顯了。我想可能是算子取得不好,導(dǎo)致了高斯低通濾波的失敗。
實(shí)驗(yàn)四 圖像處理
一、實(shí)驗(yàn)?zāi)康?
1.掌握?qǐng)D像分割中的四叉樹區(qū)域分割與合并法;
2.掌握?qǐng)D像分割中的閾值分割法;
3.了解圖像紋理分析和特征提取方法;
4.了解圖像目標(biāo)識(shí)別方法及其應(yīng)用;
二、實(shí)驗(yàn)內(nèi)容
1.使用四叉樹(quadtree)的方法,找出圖像IM5.BMP中物體的輪廓;
2.選擇一個(gè)合適的初始閾值,將圖像IM5.BMP分為兩個(gè)區(qū)域;
3.選作題目:選擇合適的位置算子,計(jì)算出圖像的共生矩陣,然后計(jì)算熵和能量來
描述紋理特征;
4.選作實(shí)驗(yàn)五 特征提取
一、實(shí)驗(yàn)?zāi)康?
1.了解圖像紋理分析和特征提取方法;
二、實(shí)驗(yàn)內(nèi)容
1.選擇合適的位置算子,計(jì)算出圖像的共生矩陣,然后計(jì)算熵和能量來描述紋理特征;
題目:汽車牌照定位與字符識(shí)別。
三,代碼
%使用四叉樹(quadtree)的方法,找出圖像IM5.BMP中物體的輪廓
h=imread(L8_2.BMP);
s = qtdecomp(h, 0.2);
figure(1);
subplot(221);
imshow(full(s));
title(參數(shù)為0.2);
s = qtdecomp(h, 0.4);
subplot(222);
imshow(full(s));
title(參數(shù)為0.4);
s = qtdecomp(h, 0.6);
subplot(223);
imshow(full(s));
title(參數(shù)為0.6);
s = qtdecomp(h, 0.8);
subplot(224);
imshow(full(s));
title(參數(shù)為0.8);
%%
% 選擇一個(gè)合適的初始閾值,將圖像IM5.BMP分為兩個(gè)區(qū)域
h=imread(L8_2.BMP);
h1=im2bw(h,40/255);
h2=im2bw(h,100/255);
h3=im2bw(h,150/255);
h4=im2bw(h,180/255);
figure(2);
subplot(221);
imshow(h);
title(原圖像);
subplot(222);
imshow(h2);
title(t=100);
subplot(223);
imshow(h3);
title(t=150);
subplot(224);
imshow(h4);
title(t=180);
四,實(shí)驗(yàn)結(jié)果
五,結(jié)果分析
通過上圖可以看出,實(shí)驗(yàn)還是比較成功的,在進(jìn)行使用四叉樹進(jìn)行輪廓分析和閾值分割圖像時(shí),我分別使用了不同的參數(shù)來進(jìn)行實(shí)驗(yàn),得到的效果是完全不同的。
實(shí)驗(yàn)五 特征提取
一、實(shí)驗(yàn)?zāi)康?
1.了解圖像紋理分析和特征提取方法;
二、實(shí)驗(yàn)內(nèi)容
1.選擇合適的位置算子,計(jì)算出圖像的共生矩陣,然后計(jì)算熵和能量來描述紋理特征;
三,代碼
clc;
clear;
[I,M]=imread(L8_2.BMP);
% imhist(I);
imshow(I,M);
glcm = graycomatrix(I,Offset,[0 60],NumLevels,8);
energy=graycoprops(glcm,energy);
entropy=0;
[row,col]=size(glcm);
for i=1:row
for j=1:col
entropy=entropy+glcm(i,j)*log10(glcm(i,j));
end
end
% display(glcm);
display(energy);
display(entropy);
四,實(shí)驗(yàn)結(jié)果
五,結(jié)果分析
給定不不同的向量和灰度壓縮成不同個(gè)數(shù)會(huì)得到不同不同的值,原因是沒有對(duì)圖像進(jìn)行歸一化,導(dǎo)致有多值。
鏈接地址:http://www.hcyjhs8.com/p-11500247.html