范文為教學(xué)中作為模范的文章,也常常用來指寫作的模板。常常用于文秘寫作的參考,也可以作為演講材料編寫前的參考。那么我們該如何寫一篇較為完美的范文呢?下面是小編幫大家整理的優(yōu)質(zhì)范文,僅供參考,大家一起來看看吧。
數(shù)字圖像處理大作業(yè)篇一
1.產(chǎn)生右圖所示亮塊圖像 f1(x,y)(128×128大小,暗處=0,亮處=255),對其進行fft:
(1)同屏顯示原圖f1和fft(f1)的幅度譜圖;
圖像:
(2)若令f2(x,y)=(-1)f1(x,y),重復(fù)以上過程,比較二者幅度譜的異同,簡述理由;(3)若將f2(x,y)順時針旋轉(zhuǎn)45度得到f3(x,y),試顯示fft(f3)的幅度譜,并與fft(f2)的幅度譜進行比較。
x+y
結(jié)論:不同點:f2的頻譜是對f1頻譜的移位,它時f1的頻譜從原點(0,0)移到了中心(64,64),而得到了一個完整的頻譜。
相同點:頻譜的實質(zhì)沒有改變,幅度等都沒有發(fā)生變化。
(3)若將f2(x,y)順時針旋轉(zhuǎn)45度得到f3(x,y),試顯示fft(f3)的幅度譜,并與fft(f2)的幅度譜進行比較。
源程序:f1=zeros(128,128);for i=38:1:90 for j=58:1:70 f1(i,j)=255;end end figure(1)subplot(1,2,1);imshow(f1);subplot(1,2,2);imshow(fft2(f1));% f2(x,y)=(-1)^(x+y)* f1(x,y)for i=1:1:128 for j=1:1:128 f2(i,j)=(-1)^(i+j)*f1(i,j);end end figure(2);subplot(1,3,1);imshow(f2);f3=imrotate(f2,-45,'bilinear');%將f2順時針旋轉(zhuǎn)45度 subplot(1,3,2);imshow(fft2(f2));%顯示f2的頻譜 subplot(1,3,3);imshow(fft2(f3));%顯示f3的頻譜
結(jié)論:均衡化后的直方圖并非完全均勻分布的原因:因為圖像的像素個數(shù)和灰度等級均為離散值,而且均衡化后使灰度級并歸。
2.對256?256大小、256級灰度的數(shù)字圖像lena進行頻域的理想低通、高通濾波,同屏顯示原圖、幅度譜圖和低通、高通濾波的結(jié)果圖。
源代碼: figure(1);fid=fopen('d:','r');data=(fread(fid,[256,256],'uint8'))';subplot(2,2,1)imagesc(data);colormap(gray);title('lena','color','r');subplot(2,2,2);imshow(fft2(data));s=fftshift(fft2(data));[m,n]=size(s);%分別返回s的行數(shù)到m中,列數(shù)到n中 n=2;%對n賦初值 %glpf濾波,d0=5,15,30(程序中以d0=30為例)d0=30;%初始化d0 n1=floor(m/2);%對m/2進行取整 n2=floor(n/2);%對n/2進行取整 for i=1:m for j=1:n d=sqrt((i-n1)^2+(j-n2)^2);%點(i,j)到傅立葉變換中心的距離 h=1*exp(-1/2*(d^2/d0^2));%glpf濾波函數(shù)
s(i,j)=h*s(i,j);%glpf濾波后的頻域表示 end end s=ifftshift(s);%對s進行反fft移動
%對s進行二維反離散的fourier變換后,取復(fù)數(shù)的實部轉(zhuǎn)化為無符號8位整數(shù) s=uint8(real(ifft2(s)));subplot(2,2,3);%創(chuàng)建圖形圖像對象 imshow(s);p=fftshift(fft2(data));[m,n]=size(p);%分別返回p的行數(shù)到m中,列數(shù)到n中 n=2;%對n賦初值 %glpf濾波d1=30 d1=30;%初始化d1 n3=floor(m/2);%對m/2進行取整 n4=floor(n/2);%對n/2進行取整 for i=1:m for j=1:n dd=sqrt((i-n3)^2+(j-n4)^2);%點(i,j)到傅立葉變換中心的距離 h1=1-exp(-1/2*(dd^2/d1^2));%ghpf濾波函數(shù)
p(i,j)=h1*p(i,j);%ghpf濾波后的頻域表示 end end p=ifftshift(p);%對p進行反fft移動
%對s進行二維反離散的fourier變換后,取復(fù)數(shù)的實部轉(zhuǎn)化為無符號8位整數(shù) p=uint8(real(ifft2(p)));subplot(2,2,4);%創(chuàng)建圖形圖像對象 imshow(p);
3.對給定的兩種128?128、256級灰度的數(shù)字圖像((指紋圖)(顯微醫(yī)學(xué)圖像)進行如下處理:
(1)對原圖像進行直方圖均衡化處理,同屏顯示處理前后圖像及其直方圖,比較異同,并回答為什么數(shù)字圖像均衡化后其直方圖并非完全均勻分布。
異同:由于原圖像中目標物的灰度主要集中于低亮度部分,而且象素總數(shù)比較多,經(jīng)過直方圖均衡后,目標物的所占的灰度等級得到擴展,對比度加強,使整個圖像得到增強。
數(shù)字圖像均衡化后其直方圖并非完全均勻分布的原因:由于原圖像中目標物的灰度主要集中于低亮度部分,而且象素總數(shù)比較少,而所占的灰度等級比較多,因此圖像的對比度比較好,亮度比較大,整體圖像清晰。經(jīng)過直方圖均衡后,目標物的所占的灰度等級被壓縮,對比度減弱,反而使目標物變的難以辨認。
數(shù)字圖像均衡化后,其直方圖并非完全均勻分布,這是因為圖像的象素個數(shù)和灰度等級均為離散值;而且均衡化使灰度級并歸,因此,均衡化后,其直方圖并非完全均勻分布。
源代碼: figure(1);fid=fopen('d:','r');
%打開無格式文件 data1=(fread(fid,[128,128],'uint8'))';%將打開的文件讀入到data1 subplot(4,2,1);
%將figure(1)分成4*2的8個子窗口, data11=uint8(data1);imshow(data11);%圖象顯示
title('cell','color','b');
%加標題 subplot(4,2,2);title('原圖像直方圖');imhist(data11);subplot(4,2,3);
%取第二個子窗口
data2=uint8(data1);%將灰度圖象轉(zhuǎn)換成uint8格式 b=histeq(data2);
%直方圖均衡化
imshow(b,256);
%顯示均衡化圖象,256可缺省 title('均衡化','color','b');
subplot(4,2,4);imhist(b);title('均衡化后圖像直方圖');subplot(4,2,5)fid=fopen('d:','r');%打開無格式文件
data3=(fread(fid,[128,128],'uint8'))';%將打開的文件讀入到data3 data31=uint8(data3);
%將灰度圖象轉(zhuǎn)換成uint8格式 imshow(data31);
%顯示灰度圖象 title('fing','color','b');subplot(4,2,6)imhist(data31);title('原圖像直方圖');subplot(4,2,7);
data4=uint8(data3);%將灰度圖象轉(zhuǎn)換成uint8格式 d=histeq(data4);
%直方圖均衡化
imshow(d,256);
%顯示均衡化圖象,256可缺省 title('均衡化','color','b');
subplot(4,2,8);imhist(d);title('均衡化后原圖像直方圖');(2)對原圖像加入高斯噪聲,用4-鄰域平均法平滑加噪聲圖像(圖像四周邊界不處理,下同),同屏顯示原圖像、加噪圖像和處理后的圖像。
① 不加門限;
② 加門限 t?2f(m,n),(其中f(m,n)?
1n2??f(i,j))
ij
源代碼: % cell figure(2);fid=fopen('d:','r');
%打開無格式文件
data1=(fread(fid,[128,128],'uint8'))';%將打開的文件讀入到data1 i=uint8(data1);i1=imnoise(i,'gaussian');%加乘性噪聲 h1=[0 1 0;1 0 1;0 1 0]/4;%4×4領(lǐng)域模板 j=imfilter(i,h1);%領(lǐng)域平均
subplot(2,4,1),imshow(i);%顯示圖像i title('原圖像');subplot(2,4,2),imshow(i1);title('加噪聲后圖像');subplot(2,4,3),imshow(j);
%不加門限平滑 title('不加門限平滑后圖像');%加門限后濾波
t= 2*sum(i1(:))/128^2;im_t = zeros(128,128);for i = 1:128
for j = 1:128
if abs(i1(i,j)j(i,j))>t
im_t(i,j)= j(i,j);
else
im_t(i,j)= i1(i,j);
end
end end subplot(2,4,8);imshow(im_t);title('加門限后');4.(1)用laplacian銳化算子(分??1和??2兩種情況)對256?256大小、256級灰度的數(shù)字圖像lena進行銳化處理,顯示處理前、后圖像。
源代碼:
%laplacian算子銳化
i=imread('d:');% 讀入原圖像 figure(1);subplot(1,3,1);imshow(i);title('原始圖像');l=fspecial('laplacian');l1=[0-1 0;-1 5-1;0-1 0];l2=[0-2 0;-2 9-2;0-2 0];lp1=imfilter(i,l1,'replicate');% α=1時的拉普拉斯算子 lp2=imfilter(i,l2,'replicate');% α=2時的拉普拉斯算子
subplot(1,3,2);imshow(lp1);title('laplacian算子α=1銳化圖像');subplot(1,3,3);imshow(lp2);title('laplacian算子α=2銳化圖像');
(2)若令
g1(m,n)?f(m,n)???2f,g2(m,n)?4?f(m,n)??[f(m?1,n)?f(m?1,n)?f(m,n?1)?f(m,n?1)
?f(m,n?1)?f(m,n?1)]
則回答如下問題:
① f(m,n)、g1(m,n)和g2(m,n)之間有何關(guān)系? ② g2(m,n)代表圖像中的哪些信息? ③ 由此得出圖像銳化的實質(zhì)是什么?
①因為g2(m,n)????2f(m,n),所以f(m,n)、g1(m,n)和g2(m,n)之間有以下關(guān)系:
g1(m,n)?f(m,n)?g2(m,n)
②g2(m,n)代表了原圖像中的二階梯度信息;g1(m,n)是邊緣增強后的數(shù)字圖像; ③由此可以得出:圖像銳化的實質(zhì)是將原圖像與梯度信息疊加(梯度信息所占的比例由,相當于對目標物的邊緣進行了增強。?的大小決定,?值越大則梯度信息所占的比例越大)
5.分別利用roberts、prewitt和sobel邊緣檢測算子,對256?256大小、256級灰度的數(shù)字圖像lena進行邊緣檢測,顯示處理前、后圖像。圖像:
源代碼:
i=imread('d:');% 讀入原圖像 figure(1)%roberts梯度法銳化
subplot(2,2,1);imshow(i);title('原始圖像');j=double(i);[ix,iy]=gradient(j);%計算梯度 a=sqrt(ix.*ix+iy.*iy);subplot(2,2,2);imshow(a,[]);title('roberts梯度法銳化圖像');%prewitt算子銳化
s=imfilter(i,fspecial('prewitt'));subplot(2,2,3);imshow(s);title('prewitt算子銳化圖像');%sobel算子銳化
s=imfilter(i,fspecial('sobel'));subplot(2,2,4);imshow(s);title('sobel算子銳化圖像');
6、學(xué)習數(shù)字圖像處理課程的心得體會,該課程在哪些方面需要改進,對該課程或者任課老師有哪些意見或建議。
通過對數(shù)字圖像處理課程的認真學(xué)習,在課堂聽課和課余實踐中了解了數(shù)字圖像的基礎(chǔ)知識,培養(yǎng)了一定的軟件編程能力,在努力完成課堂作業(yè)的同時,發(fā)現(xiàn)了對圖像方面的興趣。老師認真負責,布置合理的作業(yè)。但希望能夠通過更加豐富的授課方式,提高更多人學(xué)習該門課程的興趣和主動性。也同樣希望老師能夠加強點名和作業(yè)的驗收,督促學(xué)生更加認真的學(xué)習知識。
數(shù)字圖像處理大作業(yè)篇二
數(shù)字圖像處理上機實驗題
一、產(chǎn)生右圖所示圖像 f1(m,n),其中圖像大小為256×256,中間亮條為128×32,暗處=0,亮處=100。對其進行 fft:
1、屏顯示原圖 f1(m,n)和fft(f1)的幅度譜圖;
2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重復(fù)以上過程,比較二者幅度譜的異同,簡述理由;
3、若將f2(m,n)順時針旋轉(zhuǎn) 90 度得到f3(m,n),試顯示 fft(f3)的幅度譜,并與 fft(f2)的幅度譜進行比較;
4、若將f1(m,n)順時針旋轉(zhuǎn) 90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),試顯示 fft(f5)的幅度譜,并指出其與 fft(f1)和fft(f4)的關(guān)系;
5、若令f6(m,n)=f2(m,n)+f3(m,n),試顯示 fft(f6)的幅度譜,并指出其與 fft(f 2)和fft(f3)的關(guān)系,比較 fft(f6)和fft(f5)的幅度譜。
代碼
f1=zeros(256,256);
for i =64:1:191 for j = 112:1:143 f1(i,j)= 100;
end
end
f2 = fft2(f1);
%f2(m,n)= f3
f3 =((-1)^(i+j))*f1;f4 = fft2(f3);
%f3(m,n)= f5
f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);
%f4(m,n)= f7
f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);
%f5(m,n)= f8 f9 = f1 + f7;f10 = fft2(f9);
%f6(m,n)= f2(m,n)+f3(m,n)f11 = f3 + f5;f12 = fft2(f11);
figure(1)subplot(1,2,1);imshow(abs(f1));title('原圖f1');subplot(1,2,2);imshow(abs(f2));title('幅度譜fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原圖f1')subplot(2,2,2)imshow(abs(f2));title('幅度譜fft2(f1)');subplot(2,2,3);imshow(abs(f3))title('變換譜f2');subplot(2,2,4);imshow(abs(f4));title('幅度譜fft2(f2)');figure(3)subplot(2,2,1)imshow(abs(f3))title('變換譜f2');subplot(2,2,2);imshow(abs(f4));title('幅度譜fft2(f2)');subplot(2,2,3);imshow(abs(f5))title('變換譜f3');subplot(2,2,4);imshow(abs(f6));title('幅度譜fft2(f3)');figure(4)subplot(3,2,1);imshow(f7);
title('f1旋轉(zhuǎn)圖f4');subplot(3,2,2);imshow(abs(f8));title('幅度譜fft2(f4)');subplot(3,2,3);imshow(f9);
title('f5(m,n)=f1+f4');subplot(3,2,4);imshow(abs(f10));title('幅度譜fft2(f5)');subplot(3,2,5)imshow(abs(f1));title('原圖f1');subplot(3,2,6);imshow(abs(f2));title('幅度譜fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('變換譜f2');subplot(3,2,2);imshow(abs(f4));title('幅度譜fft2(f2)');subplot(3,2,3);imshow(abs(f5))title('變換譜f3');subplot(3,2,4);imshow(abs(f6));title('幅度譜fft2(f3)');subplot(3,2,5)imshow(abs(f11))title('變換譜f6=f2+f3');subplot(3,2,6);imshow(abs(f12));title('幅度譜fft2(f6)');
figure(6)subplot(2,2,1);imshow(f9);
title('f5(m,n)=f1+f4');subplot(2,2,2);imshow(abs(f10));title('幅度譜fft2(f5)');subplot(2,2,3)imshow(abs(f11))
title('變換譜f6(m,n)=f2+f3');subplot(2,2,4);imshow(abs(f12));title('幅度譜fft2(f6)');
結(jié)果
分析
2、f2(m,n)與f1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改變幅值。
3、fft(f2)比fft(f3)幅值大。
4、f5=f1+f4,即幅值相加。
5、f6=f2+f3,即幅值相加。
二、產(chǎn)生教材 104 頁題圖 4.18(右圖)所示的二值圖像(白為1,黑為0),編程實現(xiàn)習題4.18 所要求的處理(3*3 的平均濾波和中值濾波)功能(圖像四周邊界不考慮,處理結(jié)果按四舍五入仍?。?或1),顯示處理前后的圖像,比較其異同。
代碼
i=[ 1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;];j=imhist(i,2);
k=filter2(fspecial('average',3),i);k1=round(k);j1=imhist(k1,2);k2=medfilt2(i);j2=imhist(k2,2);
figure(1)subplot(2,2,1)imshow(i);title('原圖像');subplot(2,2,2)imshow(j);
title('原圖像直方圖');subplot(2,2,3)imshow(k1);
title('3*3領(lǐng)域平均');subplot(2,2,4)imshow(j1);
title('領(lǐng)域平均圖像直方圖')figure(2)subplot(2,2,1)imshow(i);title('原圖像');subplot(2,2,2)imshow(j);
title('原圖像直方圖');subplot(2,2,3)imshow(k2);title('中值濾波');subplot(2,2,4)imshow(j2);
title('中值濾波圖像直方圖')
結(jié)果
三、產(chǎn)生教材 104 頁題圖 4.16 所示的灰度圖像(白為255,黑為0),分別加入高斯白噪聲和椒鹽噪聲,再分別進行 3′ 3 的平均濾波和中值濾波,顯示原圖像、加噪圖像和濾波結(jié)果圖像,并比較四種濾波結(jié)果。
代碼
f=zeros(256,256);for i =23:1:23
3for j=28:1:35 f(i,j)=255;
end
for j=52:1:59 f(i,j)=255;
end
for j=76:1:83 f(i,j)=255;
end
for j=100:1:107 f(i,j)=255;
end
for j=124:1:131 f(i,j)=255;
end
for j=148:1:155 f(i,j)=255;
end
for j=172:1:179 f(i,j)=255;
end
for j=196:1:203 f(i,j)=255;
end
for j=220:1:227 f(i,j)=255;
end end
g=imnoise(f,'gaussian',0.2);s=imnoise(f,'salt & pepper',0.2);k1=filter2(fspecial('average',3),g);g1=round(k1);g2=medfilt2(g);
k2=filter2(fspecial('average',3),s);s1=round(k2);s2=medfilt2(s);
figure(1)imshow(f)
title('?-ê?í???');figure(2)subplot(3,2,1)imshow(g)
title('???1í???');subplot(3,2,2)imshow(s)
title('?·??í???');subplot(3,2,3)imshow(g1)
title('???ùa?2¨???1í???');subplot(3,2,5)imshow(g2)
title('?e?μa?2¨???1í???');subplot(3,2,4)imshow(s1)
title('???ùa?2¨?·??í???');subplot(3,2,6)imshow(s2)
title('?e?μa?2¨?·??í???');
結(jié)果
四、對某一灰度圖像,進行如下處理:
(1)分別利用 roberts、prewitt和sobel 邊緣檢測算子進行邊緣檢測;
(2)將roberts、prewitt和sobel 邊緣檢測算子修改為銳化算子,對原圖像進行銳化,同屏顯示原圖像、邊緣檢測結(jié)果和銳化后圖像,說明三者之間的關(guān)系。
代碼
f1=imread('c:');f2=rgb2gray(f1);k1=edge(f2,'roberts');k2=edge(f2,'prewitt');k3=edge(f2,'sobel');
k4=filter2(fspecial('prewitt'),f2);k5=filter2(fspecial('prewitt'),f2);k6=filter2(fspecial('sobel'),f2);
figure(1)subplot(4,2,1)imshow(f1);title('yuanshi');subplot(4,2,2)imshow(f2);title('huidu');subplot(4,2,3)imshow(k1);title('roberts');subplot(4,2,5)imshow(k2);title('prewitt');subplot(4,2,7)imshow(k3);title('sobel');subplot(4,2,4)imshow(k4);title('log');subplot(4,2,6)imshow(k5);title('prewitt');subplot(4,2,8)imshow(k6);title('sobel');
結(jié)果
二值化。
五、編程實現(xiàn)教材 214 頁所給圖像門限化分割的迭代閾值算法,實現(xiàn)對某一灰度圖像的代碼
f1=imread('c:');f2=rgb2gray(f1);f3=f2;
zm=max(f2(:));zi=min(f2(:));k=2;
t(k)=(zm+zi)/2;while t(k)~=t(k-1);r1=find(f2<=t(k));r2=find(f2>t(k));k=k+1;
t(k)=(mean(f2(r1))+mean(f2(r2)))/2;end
r3=find(f3<=t(k));r4=find(f3>t(k));f3(r3)=0;f3(r4)=255;
figure(1)subplot(221)imshow(f1)title('原始圖像');subplot(222)imshow(f2)title('灰度圖像');subplot(223)imshow(f3)
title('迭代閾值算法二值化');
結(jié)果
心得體會
通過此次作業(yè)讓我明白了很多,實際操作起來往往比理論所想的要復(fù)雜很多。當然,在課設(shè)的進行過程中,我還是遇到了不少問題。例如,起初由于我對句柄使用以及一些函數(shù)使用的不恰當。隨著課設(shè)的進行,對matlab的的熟悉度逐步加深。
總體來說,此次的課程設(shè)計,還是較為滿意的。它不但鞭策著我去鞏固matlab的基礎(chǔ)理論知識,還提高了我對matlab的實際操作運用,使得理論與實踐相結(jié)合,為進一步學(xué)習matlab打下堅實的基礎(chǔ);同時,在實踐的工程中,也讓我體會到一種努力付出并得到回報的滿足感覺。
數(shù)字圖像處理大作業(yè)篇三
練習一 常用matlab圖像處理命令
一、練習目的
1、熟悉并掌握matlab工具的使用;
2、實現(xiàn)圖像的讀取、顯示、代數(shù)運算和簡單變換。
二、練習環(huán)境
windows操作系統(tǒng)
matlab 6.5或以上應(yīng)用軟件
三、練習內(nèi)容
1、圖像文件的讀寫
(1)imread函數(shù)用來實現(xiàn)圖像文件的讀取。輸入以下程序:
a=imread('文件名.擴展名');%用imread函數(shù)來讀入圖像 注:設(shè)置路徑 imshow(a);%用imshow函數(shù)來顯示圖像 得到的結(jié)果如圖:
(2)imfinfo函數(shù)用來查詢圖像文件信息。輸入以下程序:
info=imfinfo('文件名.擴展名');% 用imfinfo函數(shù)查詢圖像文件信息 得到: info =
filename: '文件名.擴展名'
(4)imshow函數(shù)用來顯示圖像。
剛才介紹imread函數(shù)時已使用此函數(shù)。
(5)colorbar函數(shù)將顏色條添加到坐標軸對象中。輸入以下程序:
rgb=imread('***');%圖像讀入
i=rgb2gray(rgb);%把rgb圖像轉(zhuǎn)換成灰度圖像
imshow(i),colorbar('vert')% 將顏色條添加到坐標軸對象中
得到如圖:
2、圖像處理的基本操作
一、圖像代數(shù)運算
(1)imadd函數(shù)實現(xiàn)兩幅圖像的相加或者給一幅圖像加上一個常數(shù)。給圖像每個像素都增加亮度的程序如下: i=imread('***');j=imadd(i,100);%給圖像增加亮度 subplot(1,2,1),imshow(i)%填充 subplot(1,2,2),imshow(j)結(jié)果如圖5。
(2)imsubtract函數(shù)實現(xiàn)從一幅圖像中減去一個常數(shù)。輸入以下程序?qū)崿F(xiàn)從一幅圖像中減去一個常數(shù):
(3)immultiply實現(xiàn)兩幅圖像的相乘或者一幅圖像的亮度縮放(圖像乘以小于1或大于1的參數(shù),比較效果)。輸入以下程序:
(4)imspanide函數(shù)實現(xiàn)兩幅圖像的除法或一幅圖像的亮度縮放。輸入以下程序:
二、圖像的空間域操作
(1)imrotate函數(shù)實現(xiàn)圖像的旋轉(zhuǎn)。輸入以下程序: i=imread('***');j=imrotate(i,45);%對圖像進行旋轉(zhuǎn) subplot(1,2,1),imshow(i);subplot(1,2,2),imshow(j);得到圖:
練習二 數(shù)字圖像處理的基本操作
一、練習目的
1、練習使用matlab工具進行數(shù)字圖像處理;
2、實現(xiàn)圖像的邊緣提取、濾波、直方圖修正等操作。
二、練習環(huán)境
windows操作系統(tǒng)
matlab 6.5或以上應(yīng)用軟件
三、練習內(nèi)容
(1)imresize函數(shù)實現(xiàn)圖像的縮放。輸入以下程序:
j=imread('文件名.擴展名');x1=imresize(j,2);%對圖像進行縮放 figure,imshow(j)結(jié)果如圖
(2)imcrop函數(shù)實現(xiàn)圖像的剪切。輸入以下程序: i=imread('***');i2=imcrop(i);%對圖像進行剪切 subplot(填充),imshow(填充);subplot(填充),imshow(填充);如圖:
圖像變換
(1)fft2函數(shù)和ifft2函數(shù)分別是計算二維的fft和反變換。輸入以下程序: f=zeros(100,100);f(20:70,40:60)=1;imshow(f);f=fft2(f);% 計算二維的fft f2=log(abs(f));%對幅值取對數(shù) imshow(f2),colorbar
(2)dct2函數(shù)采用基于fft的算法,用于實現(xiàn)較大輸入矩陣的離散余弦變換。與之對應(yīng),idct2函數(shù)實現(xiàn)圖像的二維逆離散余弦變換 輸入以下程序: rgb=imread('***');i=rgb2gray(rgb);j=dct2(i);% 對i進行離散余弦變換 imshow(log(abs(j))),colorbar j(abs(j)<10)=0;k=idct2(j);% 圖像的二維逆離散余弦變換 figure,imshow(i);figure,imshow(k,[0,255])得到如圖:
(3)edge函數(shù)用于提取圖像的邊緣。輸入以下程序:
rgb=imread('');i=rgb2gray(rgb);bw=edge(i);% 提取圖像的邊緣 imshow(i),figure,imshow(bw);得到圖
圖像增強、分割和編碼
(1)imhist函數(shù)產(chǎn)生圖像的直方圖。a=imread('');%讀入圖像
b=rgb2gray(a);%把rgb圖像轉(zhuǎn)化成灰度圖像 imshow(b);%顯示灰度圖像
imhist(b)%顯示灰度圖像的直方圖 得到圖
(2)histeq函數(shù)用于對圖像的直方圖均衡化。接上面程序:
c=histeq(b);%對圖像b進行均衡化 imshow(c);%顯示圖像
imhist(c);%得到均衡化后的灰度直方圖 得到如圖
filter2函數(shù)實現(xiàn)均值濾波。輸入以下程序:
a=imread('');i=rgb2gray(a);imshow(i);k1=filter2(fspecial('average',3),i)/255;% 3?3的均值濾波 k2=補充;
% 5?5的均值濾波 k3=補充;
% 7?7的均值濾波 figure,imshow(k1);figure,imshow(k2);figure,imshow(k3);得到圖
(5)medfilt2函數(shù)實現(xiàn)中值濾波。輸入以下程序:
自查函數(shù)如何使用,并編程: 結(jié)果如圖:
練習三
圖像采樣及圖像類型轉(zhuǎn)換
一、練習目的
1、熟悉并掌握matlab圖像處理工具箱的使用;
2、試對自選圖像分別進行4和16倍剪采樣,查看其剪采樣效果
3、將所給圖,轉(zhuǎn)換成256級灰度圖像,8級灰度圖像和2值圖像
二、練習環(huán)境
matlab 6.5或以上版本、win xp或以上計算機
三、練習內(nèi)容
使用matlab,對圖像進行減采樣。
a = imread('***.jpg');b = rgb2gray(a);[wid,hei]=size(b);%4倍減抽樣
quartimg = zeros(wid/2+1,hei/2+1);i1 = 1;j1 = 1;for i=1:2:wid
for j=1:2:hei
quartimg(i1,j1)= b(i,j);
j1 = j1 + 1;
end i1 = i1 + 1;j1 = 1;end figure
imshow(uint8(quartimg))練習結(jié)果如圖
%16倍減抽樣
編程并運行顯示圖像結(jié)果:
圖像類型
1、練習內(nèi)容
試將自選圖,轉(zhuǎn)換成256級灰度圖像,8級灰度圖像和2值圖像
2、練習方法及程序
使用matlab,進行圖像類型變換。
a = imread('***.jpg');b = rgb2gray(a);
figure imshow(b)[wid,hei]=size(b);img8 = zeros(wid,hei);img2 = zeros(wid,hei);for i=1:wid
for j=1:hei
img8(i,j)= floor(b(i,j)/32);%得到8級灰度圖像
end end figure
imshow(uint8(img8),[0,7])for i=1:wid
for j=1:hei
補充;end end figure
imshow(uint8(img8),[0,2])%得到2值圖像
練習結(jié)果如圖
練習四
數(shù)字圖像的空間域處理
一、練習目的
1、熟悉并掌握matlab圖像處理工具箱的使用;
2、熟悉圖像相加的方法及效果
3、熟悉圖像灰度擴展的方法及效果
4、熟悉圖像縮放、旋轉(zhuǎn)的方法及效果
二、練習環(huán)境
matlab 6.5或以上版本、win xp或以上計算機
三、練習內(nèi)容 part 1(1)選擇一幅圖像***.jpg,設(shè)置輸入輸出變換的灰度級范圍,a=0.3, b=0.6, c=0.1, d=0.9;
(2)設(shè)置非線性擴展函數(shù)的參數(shù)c=2;
(3)采用灰度倒置變換函數(shù)s=255-r進行圖像變換;
(4)設(shè)置二值化圖像的閾值,分別為level=0.4,level=0.7參考程序如下: i=imread('***.jpg');figure;subplot(1,3,1);imshow(i);title('原圖');j=imadjust(i,[0.3;0.6],[0.1;0.9]);%設(shè)置灰度變換的范圍 subplot(1,3,2);imshow(j);title('線性擴展');i1=double(i);%將圖像轉(zhuǎn)換為double類型 i2=i1/255;%歸一化此圖像 c=2;k=c*log(1+i2);%求圖像的對數(shù)變換 subplot(1,3,3);imshow(k);title('非線性擴展');m=255-i;%將此圖像取反 figure;subplot(1,3,1);imshow(m);title('灰度倒置');n1=im2bw(i,0.4);%將此圖像二值化,閾值為0.4 n2=im2bw(i,0.7);%將此圖像二值化,閾值為0.7 subplot(1,3,2);imshow(n1);title('二值化閾值0.4');subplot(1,3,3);imshow(n2);title('二值化閾值0.7');練習結(jié)果與分析
(1)練習結(jié)果如圖3.7所示。
part 2 讀取一幅圖片,如***.jpg,設(shè)置圖像旋轉(zhuǎn)的角度分別為450和900,采用圖形旋轉(zhuǎn)函數(shù)imrotate對圖像進行旋轉(zhuǎn)。程序如下,結(jié)果如圖3.10。
i=imread('');j=imrotate(i,45);%圖像進行逆時針旋轉(zhuǎn),默認采用最近鄰法進行插值處理 k=imrotate(i,90);%默認旋轉(zhuǎn)出界的部分不被截出 subplot(1,3,1);imshow(i);subplot(1,3,2);imshow(j);subplot(1,3,3);imshow(k);練習結(jié)果與分析
(1)練習結(jié)果如圖3.10所示。
練習五 數(shù)字圖像的頻域處理
一、練習目的
1、熟悉并掌握matlab工具的使用;
2、實現(xiàn)圖像離散傅里葉變換并觀察效果
3、實現(xiàn)圖像離散余弦變換并觀察效果
二、練習環(huán)境
windows操作系統(tǒng) matlab 6.5或以上應(yīng)用軟件
三、練習內(nèi)容 part 1 選取一幅圖像,進行離散傅里葉變換,再對其分別進行x軸與y軸上的平移,得其離散傅里葉變換,觀察三幅結(jié)果圖。
i=imread('');figure(1)imshow(real(i));i=i(:,:,3);ffti=fft2(i);sffti=fftshift(ffti);%求離散傅里葉頻譜
%對原始圖像進行二維傅里葉變換,并將其坐標原點移到頻譜圖中央位置
rrfdp1=real(sffti);iifdp1=imag(sffti);a=sqrt(rrfdp1.^2+iifdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;
figure(2)imshow(real(a));練習結(jié)果與分析
part 2 選取一幅圖像,進行離散傅里葉變換,再對其進行一定角度的旋轉(zhuǎn),進行離散傅里葉變換。
%構(gòu)造原始圖像
i = zeros(256,256);
i(88:168,124:132)= 1;%圖像范圍是256*256,前一值是縱向比,后一值是橫向比 imshow(i)
%求原始圖像的傅里葉頻譜
j = fft2(i);f = abs(j);j1 = fftshift(f);figure imshow(j1,[5 50])
%對原始圖像進行旋轉(zhuǎn)
j = imrotate(i,90,'bilinear','crop');figure imshow(j)%求旋轉(zhuǎn)后圖像的傅里葉頻譜
j1 = fft2(j);f = abs(j1);j2 = fftshift(f);figure imshow(j2,[5 50])練習結(jié)果與分析
1) 3 選取一幅圖像,進行離散余弦變換,并對其進行離散余弦反變換,觀察其結(jié)果。
%對***.jpg文件計算二維dct變換 rgb = imread('***.jpg ');figure(1)imshow(rgb)i = rgb2gray(rgb);%真彩色圖像轉(zhuǎn)換成灰度圖像 j = dct2(i);%計算二維dct變換 figure(2)imshow(log(abs(j)),[])%圖像大部分能量集中在上左角處 figure(3);j(abs(j)< 10)= 0;%把變換矩陣中小于10的值置換為0,然后用idct2重構(gòu)圖像 k = idct2(j)/255;imshow(k)練習結(jié)果與分析
數(shù)字圖像處理大作業(yè)篇四
西安科技大學(xué)
通信學(xué)院
數(shù)字圖像處理實驗報告
直 方 圖 均 衡 化
西安科技大學(xué)
通信學(xué)院
題目:直方圖均衡化
一、實驗?zāi)康?/p>
1.通過實驗理解直方圖均衡化的原理及步驟; 2.編程實現(xiàn)圖像(灰度或彩色)的直方圖均衡化;
3.通過實驗更深刻的理解課本知識和加強動手實踐能力。
二、實驗要求
(1)讀入一幅圖像;
(2)編程繪制給定圖象的灰度直方圖;
(3)編程實現(xiàn)給定圖象的直方圖均衡,得到均衡后的新圖象;(4)比較均衡前后的兩幅圖象以及各自的灰度直方圖,分析討論直方圖均衡提高圖象對比度的效果;
三、實驗原理
1.直方圖均衡化概述
圖像的對比度增強的方法可以分成兩類:一類是直接對比度增強方法;另一類是間接對比度增強方法。直方圖拉伸和直方圖均衡化是兩種最常見的間接對比度增強方法。直方圖拉伸是通過對比度拉伸對直方圖像素分布進行調(diào)整,從而“擴大”前景和背景灰度的差別,以達到增強對比度的目的,這種方法可以利用線性或非線性的方法來實現(xiàn);直方圖均衡化則通過使用累積函數(shù)對灰度值進行“調(diào)整”以實現(xiàn)對比度的增強。
直方圖均衡化是圖像處理領(lǐng)域中利用圖像直方圖對對比度進行調(diào)整的方法。這種方法通常用來增加許多圖像的局部對比度,尤其是當圖像的有用數(shù)據(jù)的對比度相當接近的時候。通過這種方法,亮度可以 2
西安科技大學(xué)
通信學(xué)院
更好地在直方圖上分布。這樣就可以用于增強局部的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴展常用的亮度來實現(xiàn)這種功能。
2.基本思想
直方圖均衡化處理的“中心思想”是把原始圖像的灰度直方圖從比較集中的某個灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布。直方圖均衡化就是對圖像進行非線性拉伸,重新分配圖像像素值,使一定灰度范圍內(nèi)的像素數(shù)量大致相同。直方圖均衡化就是把給定圖像的直方圖分布改變成“均勻”分布直方圖分布。
直方圖均衡化的基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了象素灰度值的動態(tài)范圍從而可達到增強圖像整體對比度的效果。設(shè)原始圖像在(x,y)處的灰度為f,而改變后的圖像為s,則對圖像增強的方法可表述為將在(x,y)處的灰度f映射為g。在灰度直方圖均衡化處理中對圖像的映射函數(shù)可定義為:s = eq(f),這個映射函數(shù)eq(f)必須滿足兩個條件(其中l(wèi)為圖像的灰度級數(shù)):(1)eq(f)在0≤f≤l-1范圍內(nèi)是一個單值單增函數(shù)。這是為了保證增強處理沒有打亂原始圖像的灰度排列次序,原圖各灰度級在變換后仍保持從黑到白(或從白到黑)的排列。
(2)對于0≤f≤l-1有0≤s≤l-1,這個條件保證了變換前后灰度值動態(tài)范圍的一致性。
累積分布函數(shù)(cumulative distribution function,cdf)即可以滿足上述兩個條件,并且通過該函數(shù)可以完成將原圖像f的分布轉(zhuǎn)換
西安科技大學(xué)
通信學(xué)院
成s的均勻分布。此時的直方圖均衡化映射函數(shù)為:sk = eq(fk)=(ni/n)= pf(fi),(k=0,1,2,??,l-1)上述求和區(qū)間為0到k,根據(jù)該方程可以由源圖像的各像素灰度值直接得到直方圖均衡化后各像素的灰度值。在實際處理變換時,一般先對原始圖像的灰度情況進行統(tǒng)計分析,并計算出原始直方圖分布,然后根據(jù)計算出的累計直方圖分布求出fk到sk的灰度映射關(guān)系。在重復(fù)上述步驟得到源圖像所有灰度級到目標圖像灰度級的映射關(guān)系后,按照這個映射關(guān)系對源圖像各點像素進行灰度轉(zhuǎn)換,即可完成對源圖的直方圖均衡化。
離散情況下的直方圖均衡化的算法: 列出原始圖像的灰度級fj,j?0,1,?,l?1 統(tǒng)計各灰度級的像素數(shù)目nj,j?0,1,?,l?1
計算原始圖像直方圖各灰度級的頻數(shù)pf(fj)?nj/n,j?0,1,?,l?1
k計算累積分布函數(shù):c(f)??p(f),j?0,1,?,k,?l?1
fjj?0應(yīng)用以下公式計算映射后的輸出圖像的灰度級,p為輸出圖像灰度級的個數(shù),其中int為取整符號:
g?int[(g?g)c(f)?g?0.5] imaxminmin用的映射關(guān)系修改原始圖像的灰度級,從而獲得直方圖近似為均勻分布的輸出圖像。
四、程序代碼
(調(diào)庫函數(shù))
西安科技大學(xué)
通信學(xué)院
clc;clear all;i=imread('f:');figure(1);subplot(2,2,1);imshow(i);title('原始圖像');subplot(2,2,2);imhist(i);title('原始圖像灰度直方圖');i1=im2double(i);i2=log(i1+1);%對數(shù)變換
i3=mat2gray(i2);%把圖像的灰度范圍變換為【0,1】
subplot(2,2,3);imshow(i3);title('對數(shù)變換增強后的圖像')subplot(2,2,4);imhist(i3);title('對數(shù)變換后灰度直方圖')
figure(2);b=imadjust(i,[0.05 0.7],[0.1 1.0]);subplot(2,2,1);imshow(b);title('灰度級線性調(diào)整');subplot(2,2,2);imhist(b);title('灰度級線性調(diào)整后直方圖');j=histeq(i);subplot(2,2,3);imshow(j);title('直方圖規(guī)定化');subplot(2,2,4);imhist(j);title('直方圖規(guī)定化后直方圖');
截圖:
原始圖像30002000100000對數(shù)變換增強后的圖像原始圖像灰度直方圖100200對數(shù)變換后的圖像灰度直方圖***.51
西安科技大學(xué)
通信學(xué)院
灰度級線性調(diào)整***000直方圖規(guī)定化4000100200灰度級線性調(diào)整后直方圖直方圖規(guī)定化后直方圖200000100200
(編寫算法)clc;clear all %一,圖像的預(yù)處理,讀入彩色圖像將其灰度化
i=imread('f:');%讀入jpg彩色圖像文件 figure(1);subplot(1,2,1);imshow(i);%顯示出來 title('輸入的彩色jpg圖像')imwrite(rgb2gray(i),'');%將彩色圖片灰度化并保存 i_1=rgb2gray(i);%灰度化后的數(shù)據(jù)存入數(shù)組 %二,繪制直方圖
[height,width]=size(i_1);%測量圖像尺寸參數(shù)
gp=zeros(1,256);%預(yù)創(chuàng)建存放灰度出現(xiàn)概率的向量 for k=0:255 gp(k+1)=length(find(i_1==k))/(height*width);%計算每級灰度出現(xiàn)的概率,將其存入gp中相應(yīng)位置 end figure(2);subplot(1,2,1);bar(0:255,gp,'r')%繪制直方圖 title('原圖像直方圖');xlabel('灰度值');ylabel('出現(xiàn)概率')axis([-5 250 0 0.012])%三,直方圖均衡化 s1=zeros(1,256);for i=1:256
西安科技大學(xué)
通信學(xué)院
for j=1:i s1(i)=gp(j)+s1(i);%計算sk end end s2=round((s1*256)+0.5);%將sk歸到相近級的灰度 for i=1:256 gpeq(i)=sum(gp(find(s2==i)));%計算現(xiàn)有每個灰度級出現(xiàn)的概率 end figure(2);subplot(1,2,2);bar(0:255,gpeq,'y')%顯示均衡化后的直方圖 title('均衡化后的直方圖');xlabel('灰度值');ylabel('axis([-5 270 0 0.012])%四,圖像均衡化 pa=i;for i=0:255 pa(find(i==i))=s2(i+1);%給這個像素 end figure(1);subplot(1,2,2);imshow(pa)%title('均衡化后圖像')imwrite(pa,'');
截圖:
輸入的彩色jpg圖像 7
出現(xiàn)概率')將各個像素歸一化后的灰度值賦顯示均衡化后的圖像 均衡化后圖像
西安科技大學(xué)
通信學(xué)院
原圖像直方圖0.0120.012均衡化后的直方圖0.010.010.0080.008出現(xiàn)概率0.006出現(xiàn)概率0.0060.0040.0040.0020.0020050100灰度值***50100150灰度值200250
五、實驗結(jié)果
分析:從上述實驗結(jié)果可以看出,經(jīng)過直方圖均衡化后的圖片的對比度更高,且邊緣效果更高。這些圖片非常有利于人眼的觀看識別。直方圖均衡化可以達到增強圖像的顯示效果的作用。通過原圖像的直方圖可以觀察出,圖像中各種亮度所占的比例大都分布不均勻,直方圖增強的方法就是壓縮直方圖中比例少的像素所占用的灰度范圍,多出來的灰度空間按照統(tǒng)計比例分配給直方圖中比例高的像素使用。這種方法主要是針對人眼對灰度差別越大的圖像更容易分辨的特點而做的增強。
直方圖均衡化由于可能會丟失一些灰度級,所以造成圖片信息在一定程度上的損失。變換后圖像的灰度級減少也會使某些細節(jié)消失。并且某些圖像經(jīng)均衡化處理后的對比度不自然的過分增強。
六、成員分工
七、心得體會
通過近幾周的設(shè)計,我們學(xué)到了很多東西,對如何獲得知識也有
西安科技大學(xué)
通信學(xué)院
了一定的感知。首先,對這個設(shè)計題目,要做好充分的準備工作,經(jīng)過在圖書館查找一些相關(guān)的資料,上網(wǎng)搜索一些相關(guān)的知識后,我們終于對需要的流程有了一定的規(guī)劃。其次,在實際設(shè)計過程中,我們充分地利用課本上和老師提過的一些知識、思路。同時與組內(nèi)同學(xué)認真交談,相互領(lǐng)會對方的思路和方法,提高自己的交際能力和團隊精神。再次,通過對此設(shè)計,我們對圖像處理的知識有了更加深入的了解,知道了什么是圖像增強,知道了怎樣均衡化,知道了怎樣利用圖像增強的知識處理學(xué)習、生活中遇到的一些問題。
在此次程序課程設(shè)計中,收獲知識的同時也收獲了成熟。我們不僅培養(yǎng)了思考問題的能力,也提高了獲取知識的能力,并且相互合作的過程中感受到一個人的力量遠沒有團隊的力量大,遇到問題時,集體的智慧才會更有效解決,因此只有相互團結(jié),互相學(xué)習交流,這樣大家都會懂得更多,進步更快。平時也要學(xué)會謙虛向其他人學(xué)習,我們以后會更加珍惜和重視這樣的機會。
數(shù)字圖像處理大作業(yè)篇五
實驗五 圖像的幾何變換
一.實驗?zāi)康募耙?/p>
掌握圖像幾何變換的基本原理,熟練掌握數(shù)字圖像的縮放、旋轉(zhuǎn)、平移、鏡像和轉(zhuǎn)置的基本原理及其matlab編程實現(xiàn)方法。
二、實驗內(nèi)容
(一)研究以下程序,分析程序功能;輸入執(zhí)行各命令行,認真觀察命令執(zhí)行的結(jié)果。熟悉程序中所使用函數(shù)的調(diào)用方法,改變有關(guān)參數(shù),觀察試驗結(jié)果。
1.圖像縮放 clear all, close all i = imread('');scale = 1.35;
% 將圖像放大1.35倍
j1 = imresize(i, scale, 'nearest');
% using the nearest neighbor interpolation j2 = imresize(i, scale, 'bilinear');
% using the bilinear interpolation imshow(i), title('original image');figure, imshow(j1), title('resized image--using the nearest neighbor interpolation ');figure, imshow(j2), title('resized image--using the bilinear interpolation ');help imresize
% 查看imresize使用幫助
1.95倍
i = imread('');scale = 1.96;
% 將圖像放大1.96倍
j1 = imresize(i, scale, 'nearest');
% using the nearest neighbor interpolation j2 = imresize(i, scale, 'bilinear');
% using the bilinear interpolation imshow(i), title('original image');figure, imshow(j1), title('resized image--using the nearest neighbor interpolation ');figure, imshow(j2), title('resized image--using the bilinear interpolation ');
說明:
?注意觀察不同插值方法的圖像表現(xiàn); ?改變圖像縮放因子scale,重做上述實驗。2.圖像旋轉(zhuǎn)
clear all, close all i = imread('');theta = 45;
% 將圖像逆時針旋轉(zhuǎn)45?。
j1 = imrotate(i, theta, 'nearest');
% using the nearest neighbor interpolation theta =-45;
% 將圖像順時針旋轉(zhuǎn)45?。
j2 = imrotate(i, theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(i), title('original image');figure, imshow(j1), title('rotated image--using the nearest neighbor interpolation ');figure, imshow(j2), title(' rotated image--using the bilinear interpolation ');% 查看imrotate使用幫助 help imrotate %-------
圖像旋轉(zhuǎn)30順時針逆時針
clear all, close all i = imread('');theta = 30;
% 將圖像逆時針旋轉(zhuǎn)30。
j1 = imrotate(i, theta, 'nearest');
% using the nearest neighbor interpolation theta =-30;
% 將圖像順時針旋轉(zhuǎn)30。
j2 = imrotate(i, theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(i), title('original image');figure, imshow(j1), title('rotated image--using the nearest neighbor interpolation ');figure, imshow(j2), title(' rotated image--using the bilinear interpolation ');7 說明:
?注意觀察不同插值方法和輸出圖像后處理方法的圖像表現(xiàn); ?改變旋轉(zhuǎn)角度大小和方向,重做上述實驗。
3.圖像水平鏡象
clear all, close all i = imread('');i1 = flipdim(i,2);
i2 = flipdim(i,1);figure(1), subplot(1,2,1), imshow(i);subplot(1,2,2), imshow(i1);figure(2), subplot(2,1,1), imshow(i);subplot(2,1,2), imshow(i2);%----
(二)用matlab編程實現(xiàn)以下圖像幾何變換(參考自編講義相關(guān)章節(jié))
1.圖像扭曲變換 2.球面變換
三、實驗設(shè)備
1.piii以上微機; 2.matlab6.5;
四、預(yù)習與思考
1.預(yù)習實驗內(nèi)容,閱讀教材熟悉實驗原理;
2.查閱資料,熟悉實驗中涉及的有關(guān)matlab函數(shù);
3.利用課余時間,采用matlab底層函數(shù)編程實現(xiàn)實驗內(nèi)容
(二)中的圖像平移、圖像轉(zhuǎn)置等幾何變換。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關(guān)函數(shù)的參數(shù),分析比較實驗結(jié)果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。
實驗六
數(shù)字圖像處理應(yīng)用
一.實驗?zāi)康募耙?/p>
1.利用matlab提供的圖像處理函數(shù)實現(xiàn)圖像中物體屬性的測量; 2.訓(xùn)練綜合運用matlab圖像處理函數(shù)的能力; 3.了解數(shù)字圖像處理基本應(yīng)用。
二、實驗內(nèi)容
以大米粒特性測量為例,綜合應(yīng)用課程中圖像分割、形態(tài)學(xué)濾波、圖像增強、圖像特征提取等圖像處理方法,實現(xiàn)大米粒特性自動測量。實驗過程簡述:
1. 讀取和顯示圖像 2. 估計圖像背景 3. 獲取背景均勻的圖像 4. 圖像增強 5. 圖像二值化分割 6. 區(qū)域標記及為彩色處理
7. 測量圖像中的區(qū)域特性(面積、質(zhì)心等)
8.統(tǒng)計大米粒的特性分布規(guī)律。
(一)研究以下程序,分析程序功能;輸入執(zhí)行各命令行,認真觀察命令執(zhí)行的結(jié) 果。熟悉程序中所使用函數(shù)的調(diào)用方法,改變有關(guān)參數(shù),觀察試驗結(jié)果。
% read and display an image clear, close all,close all;i = imread('');
figure, imshow(i)
% use morphological opening to estimate the background
background = imopen(i,strel('disk',15));
figure, imshow(background);
%display the background approximation as a surface
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);set(gca,'ydir','reverse');% subtract the background image from the original image i2 = imsubtract(i,background);figure, imshow(i2)% adjust the image contrast i3 = imadjust(i2, stretchlim(i2), [0 1]);figure, imshow(i3);% apply thresholding to the image level = graythresh(i3);bw = im2bw(i3,level);figure, imshow(bw)% determine the number of objects in the image [labeled,numobjects] = bwlabel(bw,4);
% label ects % examine the label matrix rgb_label = label2rgb(labeled, @spring, 'c', 'shuffle');figure, imshow(rgb_label);% measure object properties in the image graindata = regionprops(labeled,'basic')allgrains = [];% compute statistical properties of objects in the image max(allgrains);biggrain = find(allgrains==695)mean(allgrains);figure, hist(allgrains,20);12
(詳見matlab ipt的 幫助文檔demo中的correcting nonuniform illumination)
(二)查看matlab ipt 幫助文檔,研究其它應(yīng)用演示
三、實驗設(shè)備 1.piii以上微機; 2.matlab6.5;
四、預(yù)習與思考
1.預(yù)習實驗內(nèi)容,閱讀教材熟悉實驗原理; 2.查閱資料,熟悉實驗中涉及的有關(guān)函數(shù)。
3.利用課余時間,采用matlab函數(shù)編程實現(xiàn)實驗內(nèi)容
(二)。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關(guān)函數(shù)的參數(shù),分析比較實驗結(jié)果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。
【本文地址:http://mlvmservice.com/zuowen/2173455.html】