matlab數(shù)字圖像實(shí)驗(yàn)報(bào)告_第1頁(yè)
matlab數(shù)字圖像實(shí)驗(yàn)報(bào)告_第2頁(yè)
matlab數(shù)字圖像實(shí)驗(yàn)報(bào)告_第3頁(yè)
matlab數(shù)字圖像實(shí)驗(yàn)報(bào)告_第4頁(yè)
matlab數(shù)字圖像實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)一常用MATLAB圖像處理命令一、實(shí)驗(yàn)?zāi)康?/p>

1、熟悉并掌握MATLAB工具的使用;2、實(shí)現(xiàn)圖像的讀取、顯示、代數(shù)運(yùn)算和簡(jiǎn)單變換。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、常用函數(shù)讀寫圖像文件1imreadimread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif')2imwriteimwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’)3imfinfoimfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif')圖像的顯示1imageimage函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);2imshowimshow函數(shù)用于圖像文件的顯示,如:i=imread('e:\w01.tif');imshow(i);title(‘原圖像’)%加上圖像標(biāo)題3colorbarcolorbar函數(shù)用顯示圖像的顏色條,如:i=imread('e:\w01.tif');imshow(i);colorbar;4figurefigure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1);/figure(2);5subplot把圖形窗口分成多個(gè)矩形部分,每個(gè)部分可以分別用來(lái)進(jìn)行顯示。Subplot(m,n,p)分成m*n個(gè)小窗口,在第p個(gè)窗口中創(chuàng)建坐標(biāo)軸為當(dāng)前坐標(biāo)軸,用于顯示圖形。6plot繪制二維圖形plot(y)Plot(x,y)xy可以是向量、矩陣。圖像類型轉(zhuǎn)換1rgb2gray把真彩圖像轉(zhuǎn)換為灰度圖像i=rgb2gray(j)2im2bw通過(guò)閾值化方法把圖像轉(zhuǎn)換為二值圖像I=im2bw(j,level)Level表示灰度閾值,取值范圍0~1(即0.n),表示閾值取自原圖像灰度范圍的n%3imresize改變圖像的大小I=imresize(j,[mn])將圖像j大小調(diào)整為m行n列圖像運(yùn)算1imadd兩幅圖像相加,要求同樣大小,同種數(shù)據(jù)類型Z=imadd(x,y)表示圖像x+y2imsubstract兩幅圖像相減,要求同樣大小,同種數(shù)據(jù)類型Z=imsubtract(x,y)表示圖像x-y3immultiplyZ=immultiply(x,y)表示圖像x*y4imdivideZ=imdivide(x,y)表示圖像x/y四、實(shí)驗(yàn)內(nèi)容(請(qǐng)將實(shí)驗(yàn)程序填寫在下方合適的位置,實(shí)驗(yàn)圖像結(jié)果拷屏粘貼)1、讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分成三個(gè)子窗口來(lái)分別顯示RGB圖像和灰度圖像,注上文字標(biāo)題。a=imread('f:\1.jpg')i=rgb2gray(a)I=im2bw(a,0.5)subplot(3,1,1);imshow(a);title('原圖像')subplot(3,1,2);imshow(i);title('灰度圖像')subplot(3,1,3);imshow(I);title('二值圖像')2、對(duì)兩幅不同圖像執(zhí)行加、減、乘、除操作,在同一個(gè)窗口內(nèi)分成五個(gè)子窗口來(lái)分別顯示,注上文字標(biāo)題。a=imread('f:\1.jpg')A=imresize(a,[800800])b=imread('f:\2.jpg')B=imresize(b,[800800])Z1=imadd(A,B)Z2=imsubtract(A,B)Z3=immultiply(A,B)Z4=imdivide(A,B)subplot(3,2,1);imshow(A);title('原圖像A')subplot(3,2,2);imshow(B);title('原圖像B')subplot(3,2,3);imshow(Z1);title('加法圖像')subplot(3,2,4);imshow(Z2);title('減法圖像')subplot(3,2,5);imshow(Z3);title('乘法圖像')subplot(3,2,6);imshow(Z2);title('除法圖像')對(duì)一幅圖像進(jìn)行灰度變化,實(shí)現(xiàn)圖像變亮、變暗和負(fù)片效果,在同一個(gè)窗口內(nèi)分成四個(gè)子窗口來(lái)分別顯示,注上文字標(biāo)題。a=imread('f:\1.jpg');m=imadjust(a,[,],[0.5;1]);%圖像變亮n=imadjust(a,[,],[0;0.5]);%圖像變暗g=255-a;%負(fù)片效果subplot(2,2,1);imshow(a);title('原圖像')subplot(2,2,2);imshow(m);title('圖像變亮')subplot(2,2,3);imshow(n);title('圖像變暗')subplot(2,2,4);imshow(g);title('負(fù)片效果')4、熟悉數(shù)字圖像處理常用函數(shù)的使用,調(diào)出幫助文檔查看其各種不同用法。方法:選擇函數(shù)(函數(shù)所在區(qū)變暗),點(diǎn)右鍵彈出菜單,選擇“HelponSelection”五、實(shí)驗(yàn)總結(jié)分析圖像的代數(shù)運(yùn)算結(jié)果,分別陳述圖像的加、減、乘、除運(yùn)算可能的應(yīng)用領(lǐng)域。實(shí)驗(yàn)二常用圖像增強(qiáng)方法一、實(shí)驗(yàn)?zāi)康?/p>

1、熟悉并掌握MATLAB圖像處理工具箱的使用;2、理解并掌握常用的圖像的增強(qiáng)技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、相關(guān)知識(shí)1imnoiseimnoise函數(shù)用于對(duì)圖像生成模擬噪聲,如:i=imread('e:\w01.tif');j=imnoise(i,'gaussian',0,0.02);模擬均值為0方差為0.02的高斯噪聲,j=imnoise(i,'salt&pepper',0.04)模擬疊加密度為0.04的椒鹽噪聲2fspecialfspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如:h=fspecial('sobel');%sobel水平邊緣增強(qiáng)濾波器h=fspecial('gaussian');%高斯低通濾波器h=fspecial('laplacian');%拉普拉斯濾波器h=fspecial('log');%高斯拉普拉斯(LoG)濾波器h=fspecial('average');%均值濾波器3基于卷積的圖像濾波函數(shù)imfilter函數(shù),filter2函數(shù),二維卷積conv2濾波,都可用于圖像濾波,用法類似,如:i=imread('e:\w01.tif');h=[1,2,1;0,0,0;-1,-2,-1];%產(chǎn)生Sobel算子的水平方向模板j=filter2(h,i);或者:h=fspecial(‘prewitt’)I=imread('cameraman.tif');imshow(I);H=fspecial('prewitt‘);%預(yù)定義濾波器M=imfilter(I,H);imshow(M)或者:i=imread('e:\w01.tif');h=[1,1,1;1,1,1;1,1,1];h=h/9;j=conv2(i,h);4其他常用濾波舉例(1)中值濾波medfilt2函數(shù)用于圖像的中值濾波,如:i=imread('e:\w01.tif');j=medfilt2(i,[MN]);對(duì)矩陣i進(jìn)行二維中值濾波,領(lǐng)域?yàn)镸*N,缺省值為3*3(2)利用拉氏算子銳化圖像,如:i=imread('e:\w01.tif');j=double(i);h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');三、實(shí)驗(yàn)步驟1、采用二維中值濾波函數(shù)medfilt2對(duì)受椒鹽噪聲干擾的圖像濾波,窗口分別采用3*3,5*5,7*7I=imread('f:\lena.png');J=imnoise(I,'salt&pepper',0.04);K1=medfilt2(J,[33]);%對(duì)矩陣i進(jìn)行二維中值濾波,領(lǐng)域?yàn)?*3K2=medfilt2(J,[55]);K3=medfilt2(J,[77]);subplot(2,2,1);imshow(J);title('椒鹽噪聲干擾圖像')subplot(2,2,2);imshow(K1);title('領(lǐng)域?yàn)?*3二維中值濾波')subplot(2,2,3);imshow(K2);title('領(lǐng)域?yàn)?*5二維中值濾波')subplot(2,2,4);imshow(K3);title('領(lǐng)域?yàn)?*7二維中值濾波')2、采用MATLAB中的函數(shù)filter2對(duì)受噪聲干擾的圖像進(jìn)行均值濾波I=imread('f:\lena.png');j=imnoise(i,'gaussian',0,0.02);%模擬均值為0方差為0.02的高斯噪聲,M=filter2(fspecial('average',9),J)/255;%模板尺寸為9subplot(2,1,1);imshow(j);title('噪聲干擾圖像')subplot(2,1,2);imshow(M);title('改進(jìn)后的圖像')采用三種不同算子對(duì)圖像進(jìn)行銳化處理。i=imread('f:\1.jpg')I=rgb2gray(s)H=fspecial('sobel')%應(yīng)用Sobel算子銳化圖像I1=filter2(H,I)%Sobel算子濾波銳化H=fspecial('prewitt')%應(yīng)用prewitt算子銳化圖像I2=filter2(H,I)%prewitt算子濾波銳化H=fspecial('log')%應(yīng)用log算子銳化圖像I3=filter2(H,I)%log算子濾波銳化subplot(2,2,1);imshow(i);title('原圖像')subplot(2,2,2);imshow(I1);title('Sobel算子銳化圖像')subplot(2,2,3);imshow(I2);title('prewitt算子銳化圖像')subplot(2,2,4);imshow(I3);title('log算子銳化圖像')四、實(shí)驗(yàn)總結(jié)1、比較不同平滑濾波器的處理效果,分析其優(yōu)缺點(diǎn)2、比較不同銳化濾波器的處理效果,分析其優(yōu)缺點(diǎn)實(shí)驗(yàn)三圖像恢復(fù)和圖像分割一、實(shí)驗(yàn)?zāi)康?/p>

1、熟悉并掌握MATLAB圖像處理工具箱的使用;2、理解并掌握常用的圖像的恢復(fù)和分割技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、相關(guān)知識(shí)1deconvwnr維納濾波,用法:J=deconvwnr(I,PSF,NSR)用維納濾波算法對(duì)圖片I進(jìn)行圖像恢復(fù)后返回圖像J。I是一個(gè)N維數(shù)組。PSF是點(diǎn)擴(kuò)展函數(shù)的卷積。NSP是加性噪聲的噪聲對(duì)信號(hào)的功率比。如:I=im2double(imread('cameraman.tif'));

imshow(I);

title('OriginalImage');%模擬運(yùn)動(dòng)模糊Matlab中文論壇LEN=21;

THETA=11;

PSF=fspecial('motion',LEN,THETA);

blurred=imfilter(I,PSF,'conv','circular');

figure,imshow(blurred)%恢復(fù)圖像www.iLoveM

wnr2=deconvwnr(blurred_noisy,PSF);

figure,imshow(wnr2)

title('RestorationofBlurred')2edge檢測(cè)灰度或者二值圖像的邊緣,返回一個(gè)二值圖像,1像素是檢測(cè)到的邊緣,0像素是非邊緣。用法:BW=edge(I,'sobel',thresh,direction),I為檢測(cè)對(duì)象;邊緣檢測(cè)算子可用sobel,roberts,prewitt,zerocross,log,canny;thresh指定閾值,檢測(cè)時(shí)忽略所有小于閾值的邊緣,默認(rèn)自動(dòng)選擇閾值;direction方向,在所指定的方向direction上,用算子進(jìn)行邊緣檢測(cè)horizontal(水平方向)、vertical(垂直方向)或both(兩個(gè)方向)。如:I=imread('circuit.tif');

BW1=edge(I,'prewitt');

imshow(BW1);3strel創(chuàng)建形態(tài)學(xué)結(jié)構(gòu)元素。用法:SE=STREL('arbitrary',NHOOD,HEIGHT)創(chuàng)建一個(gè)指定領(lǐng)域的非平面結(jié)構(gòu)化元素。HEIGHT是一個(gè)矩陣,大小和NHOOD相同,他指定了NHOOD中任何非零元素的高度值。SE=STREL('ball',R,H,N)創(chuàng)建一個(gè)空間橢球狀的結(jié)構(gòu)元素,其X-Y平面半徑為R,高度為H。R必須為非負(fù)整數(shù),H是一個(gè)實(shí)數(shù)。N必須為一個(gè)非負(fù)偶數(shù)。當(dāng)N>0時(shí)此球形結(jié)構(gòu)元素由一系列空間線段結(jié)構(gòu)元素來(lái)近似。SE=STREL('diamond',R)創(chuàng)建一個(gè)指定大小R平面鉆石形狀的結(jié)構(gòu)化元素。R是從結(jié)構(gòu)化元素原點(diǎn)到其點(diǎn)的距離,必須為非負(fù)整數(shù)。SE=STREL('disk',R,N)創(chuàng)建一個(gè)指定半徑R的平面圓盤形的結(jié)構(gòu)元素。這里R必須是非負(fù)整數(shù).N須是0,4,6,8.當(dāng)N大于0時(shí),圓盤形結(jié)構(gòu)元素由一組N(或N+2)個(gè)周期線結(jié)構(gòu)元素來(lái)近似。當(dāng)N等于0時(shí),不使用近似,即結(jié)構(gòu)元素的所有像素是由到中心像素距離小于等于R的像素組成。N可以被忽略,此時(shí)缺省值是4。注:形態(tài)學(xué)操作在N>0情況下要快于N=0的情形。如:se1=strel('square',11)%11乘以11的正方形4imerode腐蝕圖像用法:IM2=imerode(IM,SE)

腐蝕灰度、二進(jìn)制或壓縮二進(jìn)制圖像IM,返回腐蝕圖像IM2。參數(shù)SE是函數(shù)strel返回的一個(gè)結(jié)構(gòu)元素體或是結(jié)構(gòu)元素體陣列。如:使用一個(gè)盤狀結(jié)構(gòu)元素腐蝕一幅二進(jìn)制圖像。originalBW=imread('circles.png');

se=strel('disk',11);

erodedBW=imerode(originalBW,se);

imshow(originalBW),figure,imshow(erodedBW)5imdilate膨脹圖像用法:IM2=imdilate(IM,SE)

膨脹灰度圖像、二值圖像、或者打包的二值圖像IM,返回膨脹圖像M2。變量SE是一個(gè)結(jié)構(gòu)元素或者一個(gè)結(jié)構(gòu)元素的數(shù)組,其是通過(guò)strel函數(shù)返回的。如:利用一個(gè)運(yùn)行結(jié)構(gòu)元素膨脹灰度圖像。

I=imread('cameraman.tif');

se=strel('ball',5,5);

I2=imdilate(I,se);

imshow(I),title('Original')

figure,imshow(I2),title('Dilated')三、實(shí)驗(yàn)步驟1、產(chǎn)生運(yùn)動(dòng)模糊圖像,運(yùn)用維納濾波進(jìn)行圖像恢復(fù),顯示結(jié)果。i=imread('f:\1.jpg')I=rgb2gray(s)I=im2double(I);%模擬運(yùn)動(dòng)模糊LEN=21;THETA=11;PSF=fspecial('motion',LEN,THETA);blurred=imfilter(I,PSF,'conv','circular');%恢復(fù)圖像wnr2=deconvwnr(blurred,PSF);subplot(1,2,1);imshow(blurred);title('運(yùn)動(dòng)模糊圖像')subplot(1,2,2);imshow(wnr2);title('恢復(fù)圖像')采用三種不同算子檢測(cè)圖像邊緣,顯示結(jié)果。i=imread('f:\1.jpg')BW1=edge(I,'prewitt');BW2=edge(I,'zerocross');BW3=edge(I,'canny');subplot(2,2,1);imshow(i);title('原圖像')subplot(2,2,2);imshow(BW1);title('prewitt邊緣圖')subplot(2,2,3);imshow(BW2);title('zerocross邊緣圖')subplot(2,2,4);imshow(BW3);title('canny邊緣圖')3、對(duì)二值圖像分別進(jìn)行方形模板3*3和5*5的膨脹和腐蝕操作,顯示結(jié)果。a=imread('f:\1.jpg')i=rgb2gray(a)I=im2bw(a,0.5)se3=strel('disk',3);erodedBW1=imerode(I,se3);se4=strel('disk',5);erodedBW2=imerode(I,se4);se1=strel('ball',3,3);I1=imdilate(a,se1);se2=strel('ball',5,5);I2=imdilate(a,se2);subplot(2,2,1);imshow(I1);title('3*3膨脹圖像')subplot(2,2,2);imshow(I2);title('5*5膨脹圖像')subplot(2,2,3);imshow(erodedBW1);title('3*3腐蝕圖像')subplot(2,2,4);imshow(erodedBW2);title('5*5腐蝕圖像')實(shí)驗(yàn)四圖像處理實(shí)際應(yīng)用一、實(shí)驗(yàn)?zāi)康?、熟悉并掌握MATLAB圖像處理工具箱的使用;2、理解并掌握常用的圖像處理技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、實(shí)驗(yàn)內(nèi)容調(diào)試運(yùn)行下列程序,分析程序,對(duì)每條語(yǔ)句給出注釋,并顯示最終執(zhí)行結(jié)果。總結(jié)算法思想及優(yōu)缺點(diǎn).I=imread('Car.jpg');[y,x,z]=size(I);myI=double(I);%%%%%%%%%%%RGBtoHSI%%%%%%%%tic%%%%%%%%Y方向%%%%%%%%%%Blue_y=zeros(y,1);fori=1:yforj=1:xif((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))%藍(lán)色RGB的灰度范圍Blue_y(i,1)=Blue_y(i,1)+1;endendend[tempMaxY]=max(Blue_y);%Y方向車牌區(qū)域確定PY1=MaxY;while((Blue_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while((Blue_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%%%%%%%%X方向%%%%%%%%%%Blue_x=zeros(1,x);forj=1:xfori=PY1:PY2if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))Blue_x(1,j)=Blue_x(1,j)+1;endendendPX1=1;while((Blue_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-2;%對(duì)車牌區(qū)域的修正PX2=PX2+2;Plate=I(PY1:PY2,PX1-2:PX2,:);t=toc%讀取計(jì)時(shí)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%figure,imshow(I);figure,plot(Blue_y);gridfigure,plot(Blue_x);gridfigure,imshow(IY);添加注釋和改正后的程序:I=imread('f:\Car.jpg');%讀取圖片[y,x,z]=size(I);%給定圖片大小myI=double(I);%返回雙精度值%%%%%%%%%%%RGBtoHSI%%%%%%%%tic%計(jì)時(shí)開始%%%%%%%%Y方向%%%%%%%%%%Blue_y=zeros(y,1);%一列全零矩陣fori=1:y%給定i的范圍forj=1:x%給定j的范圍if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))%藍(lán)色RGB的灰度范圍Blue_y(i,1)=Blue_y(i,1)+1;%y矩陣加一endendend[tempMaxY]=max(Blue_y);%Y方向車牌區(qū)域確定PY1=MaxY;%y矩陣的最大元素while((Blue_y(PY1,1)>=5)&&(PY1>1))%確定藍(lán)色RGBBlue_y所在位置PY1=PY1-1;%對(duì)車牌區(qū)域的修正,向上調(diào)整endPY2=MaxY;%y矩陣的最大元素while((Blue_y(PY2,1)>=5)&&(PY2<y))%確定藍(lán)色RGBBlue_y所在位置PY2=PY2+1;%對(duì)車牌區(qū)域的修正向下調(diào)整endIY=I(PY1:PY2,:,:);%行的范圍%%%%%%%%X方向%%%%%%%%%%Blue_x=zeros(1,x);%一行全一矩陣forj=1:x%給定j的取值范圍fori=PY1:PY2%給定i的取值范圍if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))%調(diào)整I中的范圍Blue_x(1,j)=Blue_x(1,j)+1;%Blue_x的矩陣加一endendendPX1=1;%當(dāng)PX1等于1時(shí)while((Blue_x(1,PX1)<3)&&(PX1<x))%確定藍(lán)色RGBBlue_x的位置PX1=PX1+1;%對(duì)車牌區(qū)域的修正向下調(diào)整endPX2=x;%當(dāng)PX2等于x時(shí)while((Blue_x(1,PX2)<3)&&(PX2>PX1))%確定藍(lán)色RGBBlue_x的位置PX2=PX2-1;%對(duì)車牌區(qū)域的修正向下調(diào)整endPX1=PX1-2;%對(duì)車牌區(qū)域的修正PX2=PX2+2;%對(duì)車牌區(qū)域的修正Plate=I(PY1:PY2,PX1-2:PX2,:);%矩陣行列的范圍t=toc%讀取計(jì)時(shí)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%figure,imshow(I);%創(chuàng)建圖像窗口,顯示圖像Ifigure,plot(Blue_y);grid%創(chuàng)建圖像窗口,繪制Blue_y圖像,畫出網(wǎng)格線figure,plot(Blue_x);grid%創(chuàng)建圖像窗口,繪制Blue_x圖像,畫出網(wǎng)格線figure,imshow(Plate);%創(chuàng)建圖像窗口,顯示圖像Platet=0.5630實(shí)驗(yàn)五圖像基本操作一、實(shí)驗(yàn)?zāi)康?/p>

1、熟悉及掌握?qǐng)D像的采樣原理,實(shí)現(xiàn)圖像的采樣過(guò)程,進(jìn)行圖像的灰度轉(zhuǎn)換。2、理解直方圖的概念及應(yīng)用,實(shí)現(xiàn)圖像直方圖的顯示,及通過(guò)直方圖均衡和直方圖規(guī)定化方法對(duì)圖像進(jìn)行修正。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、相關(guān)函數(shù)圖像的增強(qiáng)1、直方圖imhist函數(shù)用于數(shù)字圖像的直方圖計(jì)算或顯示,imhist(I,

n)計(jì)算和顯示圖像I的直方圖,n為指定的灰度級(jí)數(shù)目,默認(rèn)為256。如果I是二值圖像,那么n僅有兩個(gè)值。[counts,x]

=

imhist(...)返回直方圖數(shù)據(jù)向量counts,相應(yīng)的色彩值向量x。如:i=imread('e:\w01.tif');imhist(i);2、直方圖均衡化histeq函數(shù)用于數(shù)字圖像的直方圖均衡化,J=histeq(I,n)

均衡化后的級(jí)數(shù)n,缺省值為64。J=histeq(I,hgram)"直方圖規(guī)定化",即將原是圖象I的直方圖變換成用戶指定的向量hgram(即指定另一幅圖像的直方圖數(shù)據(jù)向量)。如:i=imread('e:\w01.tif');j=histeq(i,N);對(duì)圖像i執(zhí)行均衡化,得到具有N個(gè)灰度級(jí)的灰度圖像j,N缺省值為643、灰度調(diào)整imadjust函數(shù)用于數(shù)字圖像的灰度或顏色調(diào)整,J=imadjust(I)將灰度圖像I中的亮度值映射到J中的新值并使1%的數(shù)據(jù)是在低高強(qiáng)度和飽和,這增加了輸出圖像J的對(duì)比度值。J=imadjust(I,[low_in;high_in],[low_out;high_out])

將圖像I中的亮度值映射到J中的新值,即將low_in至high_in之間的值映射到low_out至high_out之間的值。low_in以下與high_in以上的值被剪切掉了,也就是說(shuō),low_in以下的值映射到low_out,high_in以上的值映射到high_out。它們都可以使用空的矩陣[],默認(rèn)值是[01]。如:i=imread('e:\w01.tif');j=imadjust(i,[0.3,0.7],[]);將圖像i轉(zhuǎn)換為j,使灰度值從0.3~0.7與缺省值0~1相匹配運(yùn)算函數(shù)1、Zeros生成全0數(shù)組或矩陣如B=zeros(m,n)orB=zeros([mn])返回一個(gè)m*n全0矩陣2、取整函數(shù)floor最小取整函數(shù)round四舍五入取整函數(shù)ceil最大取整函數(shù)如a=[-1.9,-0.2,3.4,5.6,7.0,2.4+3.6i]I=round(a)I=[-203672+4i]四、實(shí)驗(yàn)內(nèi)容1、對(duì)一幅圖像進(jìn)行2倍、4倍、8倍和16倍減采樣,顯示結(jié)果。a=imread('f:/1.jpg');b=rgb2gray(a);form=1:4figure[width,height]=size(b);quartimage=zeros(floor(width/(m)),floor(height/(2*m)));k=1;n=1;fori=1:(m):widthforj=1:(2*m):heightquartimage(k,n)=b(i,j);n=n+1;endk=k+1;n=1;endimshow(uint8(quartimage));End顯示一幅灰度圖像a,改變圖像亮度使其整體變暗得到圖像b,顯示兩幅圖像的直方圖。a=imread('f:\lena_color.png')c=rgb2gray(a)b=c-46subplot(2,1,1);imhist(c);title('原圖像')subplot(2,1,2);imhist(b);title('變暗后的圖像')對(duì)圖像b進(jìn)行直方圖均衡化,顯示結(jié)果圖像和對(duì)應(yīng)直方圖。b=imread('f:\lena_color.png')c=rgb2gray(b)j=histeq(c)subplot(2,2,1),imshow(c)subplot(2,2,2),imshow(j)subplot(2,2,3),imhist(c)%顯示原始圖像直方圖subplot(2,2,4),imhist(j)%顯示均衡化后圖像的直方圖讀入圖像c,執(zhí)行直方圖規(guī)定化,使圖像a的灰度分布與c大致相同,顯示變換后圖像及對(duì)應(yīng)直方圖。I=imread('f:\lena.png');>>J=histeq(I,64);%均衡化成32個(gè)灰度級(jí)的直方圖>>[counts,x]=imhist(J);%返回直方圖圖像向量countsb=imread('f:\1.jpg')Q=rgb2gray(b)>>M=histeq(Q,counts);%將原始圖像Q的直方圖變成指定向量counts>>figure,>>subplot(3,2,1),imshow(I);>>subplot(3,2,2),imshow(Q);>>subplot(3,2,3),imhist(I);>>subplot(3,2,4),imhist(Q)>>subplot(3,2,5),imhist(J);>>subplot(3,2,6),imhist(M);實(shí)驗(yàn)六圖像變換一、實(shí)驗(yàn)?zāi)康?/p>

1、熟悉及掌握?qǐng)D像的變換原理及性質(zhì),實(shí)現(xiàn)圖像的傅里葉變換。二、實(shí)驗(yàn)環(huán)境MATLAB6.5以上版本、WINXP或WIN2000計(jì)算機(jī)三、相關(guān)函數(shù)圖像的變換1fft2fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如:i=imread('e:\w01.tif');j=fft2(i);由于MATLAB無(wú)法顯示復(fù)數(shù)圖像,因此變換后的結(jié)果還需進(jìn)行求模運(yùn)算,即調(diào)用abs函數(shù)。之后常常還進(jìn)行對(duì)數(shù)變換,即調(diào)用log函數(shù),以減緩傅里葉譜的快速衰減,更好地顯示高頻信息。2ifft2ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如:i=imread('e:\w01.tif');j=fft2(i);k=ifft2(j);3fftshift用于將變換后圖像頻譜中心從矩陣的原點(diǎn)移動(dòng)到矩陣的中心B=fftshift(i)4利用fft2計(jì)算二維卷積利用fft2函數(shù)可以計(jì)算二維卷積,如:a=[8,1,6;3,5,7;4,9,2];b=[1,1,1;1,1,1;1,1,1];a(8,8)=0;b(8,8)=0;c=ifft2(fft2(a).*fft2(b));c=c(1:5,1:5);利用conv2(二維卷積函數(shù))校驗(yàn),如:a=[8,1,6;3,5,7;4,9,2];b=[1,1,1;1,1,1;1,1,1];c=conv2(a,b);四、實(shí)驗(yàn)內(nèi)容1、對(duì)一幅圖像進(jìn)行平移,顯示原始圖像與處理后圖像,分別對(duì)其進(jìn)行傅里葉變換,顯示變換后結(jié)果,分析原圖的傅里葉譜與平移后傅里葉頻譜的對(duì)應(yīng)關(guān)系。s=imread('f:\1.jpg');%讀入原圖像i=rgb2gray(s)i=double(i)j=fft2(i);%傅里葉變換k=fftshift(j);%直流分量移到頻譜中心l=log(abs(k));%對(duì)數(shù)變換m=fftshift(j);%直流分量移到頻譜中心RR=real(m);%取傅里葉變換的實(shí)部II=imag(m);%取傅里葉變換的虛部A=sqrt(RR.^2+II.^2);%計(jì)算頻譜府幅值A(chǔ)=(A-min(min(A)))/(max(max(A)))*255;%歸一化b=circshift(s,[800450]);%對(duì)圖像矩陣im中的數(shù)據(jù)進(jìn)行移位操作b=rgb2gray(b)b=double(b)c=fft2(b);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論