數(shù)字圖像處理實驗二_第1頁
數(shù)字圖像處理實驗二_第2頁
數(shù)字圖像處理實驗二_第3頁
數(shù)字圖像處理實驗二_第4頁
數(shù)字圖像處理實驗二_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

數(shù)字圖像處理

實驗

實驗一二:圖像的代數(shù)運算

學院:信息工程學院

姓名:_____________________________

學號:.____________________________

專業(yè)及班級:____________________________

指導教師:____________________________

成績

一、實驗內(nèi)容

1.了解圖像的算術運算在數(shù)字圖像處理中的初步應用。

2.體會圖像算術運算處理的過程和處理前后圖像的變化。

二、實驗內(nèi)容

圖像的代數(shù)運算是圖像的標準算術操作的實現(xiàn)方法,是兩幅輸入圖像之間進行的點對

點的加、減、乘、除運算后得到輸出圖像的過程。如果輸入圖像為A(x,y)和B(x,y),輸出圖

像為C(x,y),則圖像的代數(shù)運算有如下四種形式:

C(x,y)=A(x,y)+B(x,y)

C(x,y)=A(x,y)-B(x,y)

C(x,y)=A(x,y)*B(x,y)

C(x,y)=A(x,y)/B(x,y)

圖像的代數(shù)運算在圖像處理中有著廣泛的應用,它除了可以實現(xiàn)自身所需的算術操作,

還能為許多復雜的圖像處理提供準備。例如,圖像減法就可以用來檢測同一場景或物體生產(chǎn)

的兩幅或多幅圖像的誤差,

使用MATLAB的基本算術符(|、、*、/等)可以執(zhí)行圖像的算術操作,但足在此之前必須將

圖像轉換為適合進行基本操作的雙精度類型。

代數(shù)運算的結果很容易超出數(shù)據(jù)類型允許的范圍。例如,uint8數(shù)據(jù)能夠存儲的最大

數(shù)值是255,各種代數(shù)運算尤其是乘法運算的結果很容易超過這個數(shù)值,有時代數(shù)操作(主

要是除法運算)也會產(chǎn)生不能用整數(shù)描述的分數(shù)結果。圖像的代數(shù)運算函數(shù)使用以下撤取規(guī)

則使運算結果符合數(shù)據(jù)范圍的要求:超出數(shù)據(jù)范圍的整型數(shù)據(jù)將被截取為數(shù)據(jù)范圍的極值,

分數(shù)結果將被四舍五入。洌如,如果數(shù)據(jù)類型是uint8,那么大于255的結果(包括無窮大

inf)將被設置為255。

三、實驗具體實現(xiàn)

1、圖像的加法運算

在MATLAB中,如果要進行兩幅圖像的加法,或者給一幅圖像加上一個常數(shù),可以調(diào)用

imadd函數(shù)來實現(xiàn)。imadd函數(shù)將某一幅輸入圖像的每一個像素值與另一幅圖像相應的像素值

相加,返回相應的像素值之和作為輸出圖像。imadd函數(shù)的調(diào)用格式如下:

Z=imadd(X,Y)

其中,X和Y表示需要相加的兩幅圖像,返回值Z表示得到的加法操作結果。

圖像加法在圖像處理中應用非常廣泛。

例如,以下代碼使用加法操作將下圖中的兩幅圖像疊加在一起:

原圖:

變化后:

?I=inireadCrice,jpg');

J=imread(,caneraman.jpg');

K=ijnadd(I,J);

imshow(K);

給圖像的每一個像素加上一個常數(shù)可以使圖像的亮度增加。例如,以下代碼將增加50亮度,

加亮后的結果下圖所示。

?RGB=imread(,flower.jpg?);

?RGBl=imadd(RGB,50);

?subplot(1,2,1);imshow(RGB);

?subplot(I,2,2);imshow(RGB1);

2、圖像的減法運算

在MATLAB中,使用imsubtract函數(shù)可以將一幅圖像從另一幅圖像中減去,或者從一幅

圖像中減去一個常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應的像

素值中減去,再將這個結果作為輸出圖像相應的像素值。imsubtract函數(shù)的調(diào)用格式如下:

Z=imsubtract(X,Y);

其中,Z是X-Y操作的結果。

首先根據(jù)原始圖像生成其背景亮度圖像,然后再從原始圖像中將背景亮度圖像減去,從而生

成下圖所示的圖像:

>>camema=imreadCcamenta,jpg):

background=imopenCcamejna,strelCdisk",15));

camema2=imsubtract(camema,background);

subplot(1,2,1);ijnshow(camejna);

subplot(1,2j2);imshow(camejna2);

QFigure1

如果希望從圖像數(shù)據(jù)I的每一個像素減去一個常數(shù),可以將上述調(diào)用格式中的Y替換為一個

指定的常數(shù)值,例如

?rice=imread(,ric.jpg,);

ricel=imniultiply(rice,20);

subplot(1,2,1);imshow(rice);

eubplot(1,2,2);ijnehowCricel);

JFigure1目回區(qū)|

3、圖像的乘法運算

在MATLAB中,使用immultiply函數(shù)實現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像

相應的像素值進行元素對元素的乘法操作(MATLAB點乘),并將乘法的運算結果作為輸

出圖形相應的像素值。immulitply函數(shù)的調(diào)用格式如下:

Z=immulitply(X,Y)其中,Z=X*Y。

例如,以下代碼將使用給定的縮放因子對所示的圖像進行縮放,從而得到下圖所示的較為明

亮的圖像:

?I=imreadCmoon,jpg"):

J=immultiply(I,1.2):

subplot(1,2,1):imshow(I);

subplot(1,2,2)linshowU,)

BjAgurelI0|回FlHlI

4、圖像的除法運算

在MATLAB中使用imdivide函數(shù)進行兩幅圖像的除法。imdivide函數(shù)對兩幅輸入圖像的

所有相應像素執(zhí)行元素對元素的除法操作(點除),并將得到的結果作為輸出圖像的相應像

素值。imdivide函數(shù)的調(diào)用格式如下:

Z=imdivide(X,Y)其中,Z=X/Y。

例如,以下代碼將圖4所示的兩幅圖像進行除法運算,請將這個結果和減法操作的結果

相比較,對比它們之間的不同之處:

camcma=imi'cad(:camema.jpg');

I=double(camema);

J=I*0.43+90;

camema2=uint8(J);

Ip=imdivide(camema,camcma2);

imshow(1p,[]);

四、思考題

由圖像算術運算的運算結果,思考圖像減法運算在什么場合上發(fā)揮優(yōu)勢?

答:使用背景減法進行運動目標檢

溫馨提示

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

評論

0/150

提交評論