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è),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、作業(yè)要求:按照下面的實(shí)驗(yàn)提示自行完成下列圖像處理實(shí)驗(yàn),圖像處理中的圖片必須使用自己準(zhǔn)備圖片,并且大小調(diào)整為521*512或者256*256.實(shí)驗(yàn)一 常用MATLAB圖像處理命令一、實(shí)驗(yàn)?zāi)康?1、熟悉并掌握MATLAB工具的使用;2、實(shí)現(xiàn)圖像的讀取、顯示、代數(shù)運(yùn)算和簡(jiǎn)單變換。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、常用函數(shù)l 讀寫(xiě)圖像文件1 imread imread函數(shù)用于讀入各種圖像文件,如:a=imread(e:w01.tif) 2 imwrite imwrite函數(shù)用于寫(xiě)入圖像文件,如:imwrite(a,e:w02.tif,tif) 3 imfi

2、nfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo(e:w01.tif)l 圖像的顯示1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread(e:w01.tif);imshow(i);title(原圖像)%加上圖像標(biāo)題 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread(e:w01.tif); imshow(i); colorbar; 4 figurefig

3、ure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2);5 subplot 把圖形窗口分成多個(gè)矩形部分,每個(gè)部分可以分別用來(lái)進(jìn)行顯示。Subplot(m,n,p)分成m*n個(gè)小窗口,在第p個(gè)窗口中創(chuàng)建坐標(biāo)軸為當(dāng)前坐標(biāo)軸,用于顯示圖形。6 plot繪制二維圖形plot(y)Plot(x,y)xy可以是向量、矩陣。l 圖像類(lèi)型轉(zhuǎn)換1 rgb2gray把真彩圖像轉(zhuǎn)換為灰度圖像i=rgb2gray(j)2 im2bw通過(guò)閾值化方法把圖像轉(zhuǎn)換為二值圖像I=im2bw(j,level)Level表示灰度閾值,取值范圍01(即0.n),表示閾值取自原圖像灰度范圍的n%3 imresi

4、ze改變圖像的大小I=imresize(j,m n)將圖像j大小調(diào)整為m行n列l(wèi) 圖像運(yùn)算1 imadd兩幅圖像相加,要求同樣大小,同種數(shù)據(jù)類(lèi)型Z=imadd(x,y)表示圖像x+y2 imsubstract兩幅圖像相減,要求同樣大小,同種數(shù)據(jù)類(lèi)型Z=imsubtract(x,y) 表示圖像x-y3 immultiplyZ=immultiply(x,y) 表示圖像x*y4 imdivideZ=imdivide(x,y) 表示圖像x/y四、實(shí)驗(yàn)內(nèi)容(請(qǐng)將實(shí)驗(yàn)程序填寫(xiě)在下方合適的位置,實(shí)驗(yàn)圖像結(jié)果拷屏粘貼)1、讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分成三個(gè)子窗口來(lái)分別顯示R

5、GB圖像和灰度圖像,注上文字標(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,800 800)b=imread(f:2.jpg)B=imresize(b,800 800)Z1=

6、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(除法圖像)3、 對(duì)一幅圖像進(jìn)行灰度

7、變化,實(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)出幫助文

8、檔查看其各種不同用法。方法:選擇函數(shù)(函數(shù)所在區(qū)變暗),點(diǎn)右鍵彈出菜單,選擇“Help on Selection”五、實(shí)驗(yàn)總結(jié)分析圖像的代數(shù)運(yùn)算結(jié)果,分別陳述圖像的加、減、乘、除運(yùn)算可能的應(yīng)用領(lǐng)域。實(shí)驗(yàn)四 常用圖像增強(qiáng)方法一、實(shí)驗(yàn)?zāi)康?1、熟悉并掌握MATLAB圖像處理工具箱的使用;2、理解并掌握常用的圖像的增強(qiáng)技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、相關(guān)知識(shí) 1 imnoise imnoise函數(shù)用于對(duì)圖像生成模擬噪聲,如: i=imread(e:w01.tif);j=imnoise(i,gaussian,0,0.02);模擬均值為0方差為0.0

9、2的高斯噪聲,j=imnoise(i,salt&pepper, 0.04) 模擬疊加密度為0.04的椒鹽噪聲 2 fspecial fspecial函數(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濾波,都可用于圖像濾波,

10、用法類(lèi)似,如: 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ù)用于圖

11、像的中值濾波,如: i=imread(e:w01.tif); j=medfilt2(i,M N);對(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 = medfilt

12、2(J,3 3);%對(duì)矩陣i進(jìn)行二維中值濾波,領(lǐng)域?yàn)?*3 K2 = medfilt2(J,5 5);K3 = medfilt2(J,7 7);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:le

13、na.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)后的圖像)3、 采用三種不同算子對(duì)圖像進(jìn)行銳化處理。i=imread(f:1.jpg)I=rgb2gray(s)H=fspecial(sobel)%應(yīng)用Sobel算子銳化圖像I1=filter2(H,I)%Sobel算子濾波銳化H=fspecial(p

14、rewitt)%應(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)

15、缺點(diǎn)2、比較不同銳化濾波器的處理效果,分析其優(yōu)缺點(diǎn)實(shí)驗(yàn)五 圖像恢復(fù)和圖像分割一、實(shí)驗(yàn)?zāi)康?1、熟悉并掌握MATLAB圖像處理工具箱的使用;2、理解并掌握常用的圖像的恢復(fù)和分割技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、相關(guān)知識(shí)1 deconvwnr維納濾波,用法: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(

16、Original Image ); %模擬運(yùn)動(dòng)模糊 Matlab中文論壇 LEN = 21; THETA = 11; PSF = fspecial(motion, LEN, THETA); blurred = imfilter(I, PSF, conv, circular); figure, imshow(blurred) %恢復(fù)圖像 wnr2 = deconvwnr(blurred_noisy, PSF); figure, imshow(wnr2) title(Restoration of Blurred) 2 edge 檢測(cè)灰度或者二值圖像的邊緣,返回一個(gè)二值圖像,1像素是檢測(cè)到的邊緣,0

17、像素是非邊緣。用法: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); 3 strel創(chuàng)建形態(tài)學(xué)結(jié)構(gòu)元素

18、。用法: 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)N0時(shí)此球形結(jié)構(gòu)元素由一系列空間線(xiàn)段結(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)

19、 創(chuàng)建一個(gè)指定半徑R的平面圓盤(pán)形的結(jié)構(gòu)元素。這里R必須是非負(fù)整數(shù). N須是0, 4, 6, 8.當(dāng)N大于0時(shí),圓盤(pán)形結(jié)構(gòu)元素由一組N(或N+2)個(gè)周期線(xiàn)結(jié)構(gòu)元素來(lái)近似。當(dāng)N等于0時(shí),不使用近似,即結(jié)構(gòu)元素的所有像素是由到中心像素距離小于等于R的像素組成。N可以被忽略,此時(shí)缺省值是4。注: 形態(tài)學(xué)操作在N0情況下要快于N=0的情形。 如:se1 = strel(square,11) % 11乘以11的正方形4 imerode腐蝕圖像用法:IM2 = imerode(IM,SE) 腐蝕灰度、二進(jìn)制或壓縮二進(jìn)制圖像 IM ,返回腐蝕圖像 IM2 。參數(shù) SE 是函數(shù) strel 返回的一個(gè)結(jié)構(gòu)元素體

20、或是結(jié)構(gòu)元素體陣列。如:使用一個(gè)盤(pán)狀結(jié)構(gòu)元素腐蝕一幅二進(jìn)制圖像。 originalBW = imread(circles.png); se = strel(disk,11); erodedBW = imerode(originalBW,se); imshow(originalBW), figure, imshow(erodedBW) 5 imdilate膨脹圖像用法: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

21、 = 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, P

22、SF, 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ù)圖像)2、 采用三種不同算子檢測(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);im

23、show(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); s

24、e1 = 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圖像處理

25、工具箱的使用;2、理解并掌握常用的圖像處理技術(shù)。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、實(shí)驗(yàn)內(nèi)容調(diào)試運(yùn)行下列程序,分析程序,對(duì)每條語(yǔ)句給出注釋,并顯示最終執(zhí)行結(jié)果??偨Y(jié)算法思想及優(yōu)缺點(diǎn).I=imread(Car.jpg);y,x,z=size(I);myI=double(I);% RGB to HSI %tic % Y 方向 %Blue_y=zeros(y,1);for i=1:y for j=1:x if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) % 藍(lán)色RGB的灰度范圍 Blue_y(i,1)=

26、Blue_y(i,1)+1; end end endtemp MaxY=max(Blue_y); % Y方向車(chē)牌區(qū)域確定PY1=MaxY;while (Blue_y(PY1,1)=5)&(PY11) PY1=PY1-1;end PY2=MaxY;while (Blue_y(PY2,1)=5)&(PY2y) PY2=PY2+1;endIY=I(PY1:PY2,:,:);% X 方向 % Blue_x=zeros(1,x); for j=1:x for i=PY1:PY2 if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) Blue_x(1,j)=

27、 Blue_x(1,j)+1; end end endPX1=1;while (Blue_x(1,PX1)3)&(PX1x) PX1=PX1+1;end PX2=x;while (Blue_x(1,PX2)PX1) PX2=PX2-1;endPX1=PX1-2; % 對(duì)車(chē)牌區(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:

28、Car.jpg);%讀取圖片y,x,z=size(I);%給定圖片大小myI=double(I);%返回雙精度值% RGB to HSI %tic %計(jì)時(shí)開(kāi)始 % Y 方向 %Blue_y=zeros(y,1);%一列全零矩陣for i=1:y%給定i的范圍 for j=1:x%給定j的范圍 if(myI(i,j,1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119) % 藍(lán)色RGB的灰度范圍 Blue_y(i,1)= Blue_y(i,1)+1; % y矩陣加一 end end endtemp MaxY=max(Blue_y); % Y方向車(chē)牌區(qū)域確定PY1=MaxY

29、;%y矩陣的最大元素while (Blue_y(PY1,1)=5)&(PY11)% 確定藍(lán)色RGB Blue_y所在位置 PY1=PY1-1; %對(duì)車(chē)牌區(qū)域的修正,向上調(diào)整end PY2=MaxY; %y矩陣的最大元素while (Blue_y(PY2,1)=5)&(PY2y) %確定藍(lán)色RGB Blue_y所在位置 PY2=PY2+1; %對(duì)車(chē)牌區(qū)域的修正向下調(diào)整endIY=I(PY1:PY2,:,:);%行的范圍 % X 方向 % Blue_x=zeros(1,x); %一行全一矩陣 for j=1:x%給定j的取值范圍 for i=PY1:PY2%給定i的取值范圍 if(myI(i,j,

30、1)=30)&(myI(i,j,2)=51)&(myI(i,j,3)=119)%調(diào)整I中的范圍 Blue_x(1,j)= Blue_x(1,j)+1; % Blue_x 的矩陣加一 end end endPX1=1;%當(dāng)PX1等于1時(shí)while (Blue_x(1,PX1)3)&(PX1x) % 確定藍(lán)色RGB Blue_x的位置 PX1=PX1+1; %對(duì)車(chē)牌區(qū)域的修正向下調(diào)整end PX2=x; %當(dāng)PX2等于x時(shí)while (Blue_x(1,PX2)PX1) %確定藍(lán)色RGB Blue_x的位置 PX2=PX2-1; %對(duì)車(chē)牌區(qū)域的修正向下調(diào)整endPX1=PX1-2; % 對(duì)車(chē)牌區(qū)域

31、的修正PX2=PX2+2; %對(duì)車(chē)牌區(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圖像,畫(huà)出網(wǎng)格線(xiàn)figure,plot(Blue_x);grid%創(chuàng)建圖像窗口,繪制Blue_x圖像,畫(huà)出網(wǎng)格線(xiàn)figure,imshow(Plate); %創(chuàng)建圖像窗口,顯示圖像Platet =0.5630實(shí)驗(yàn)二 圖像基本操作一、實(shí)驗(yàn)?zāi)康?1、熟悉及掌握?qǐng)D像的采樣原理,實(shí)現(xiàn)圖像的采樣過(guò)程,進(jìn)行圖像的灰度轉(zhuǎn)換。

32、 2、理解直方圖的概念及應(yīng)用,實(shí)現(xiàn)圖像直方圖的顯示,及通過(guò)直方圖均衡和直方圖規(guī)定化方法對(duì)圖像進(jìn)行修正。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、相關(guān)函數(shù)l 圖像的增強(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ù)字圖像的直方圖均衡化

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

34、t(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)值是0 1。 如: i=imread(e:w01.tif); j=imadjust(i,0.3,0.7,);將圖像i轉(zhuǎn)換為j,使灰度值從0.30.7與缺省值01相匹配l 運(yùn)算函數(shù)1、Zeros生成全0數(shù)組或矩

35、陣如 B = zeros(m,n) or B = zeros(m n) 返回一個(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.6iI=round(a)I = -2 0 3 6 7 2+ 4i四、實(shí)驗(yàn)內(nèi)容1、對(duì)一幅圖像進(jìn)行2倍、4倍、8倍和16倍減采樣,顯示結(jié)果。 a=imread(f:/1.jpg); b=rgb2gray(a); for m=1:4 figure width,height=size(b); quartimage=zeros(floor(width/(

36、m),floor(height/(2*m); k=1; n=1; for i=1:(m):width for j=1:(2*m):height quartimage(k,n)=b(i,j); n=n+1; end k=k+1; n=1; end imshow(uint8(quartimage);End2、 顯示一幅灰度圖像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);ti

37、tle(變暗后的圖像)3、 對(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) %顯示均衡化后圖像的直方圖4、 讀入圖像c,執(zhí)行直方圖規(guī)定化,使圖像a的灰度分布與c大致相同,顯示變換后圖像及對(duì)應(yīng)直方圖。I=imread(f:lena.png); J=histeq(I,64); %均衡

38、化成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>

39、 1、熟悉及掌握?qǐng)D像的變換原理及性質(zhì),實(shí)現(xiàn)圖像的傅里葉變換。二、實(shí)驗(yàn)環(huán)境MATLAB 6.5以上版本、WIN XP或WIN2000計(jì)算機(jī)三、相關(guān)函數(shù)l 圖像的變換 1 fft2 fft2函數(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ù),以減緩傅里葉譜的快速衰減,更好地顯示高頻信息。 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread(e:w01.tif); j=fft2(i);k=if

40、ft2(j);3 fftshift用于將變換后圖像頻譜中心從矩陣的原點(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=fft

溫馨提示

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

評(píng)論

0/150

提交評(píng)論