matlab醫(yī)學(xué)影響數(shù)字處理課件_第1頁
matlab醫(yī)學(xué)影響數(shù)字處理課件_第2頁
matlab醫(yī)學(xué)影響數(shù)字處理課件_第3頁
matlab醫(yī)學(xué)影響數(shù)字處理課件_第4頁
matlab醫(yī)學(xué)影響數(shù)字處理課件_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

醫(yī)學(xué)影像數(shù)字處理MATLAB

MATLAB簡介

MATLAB對于計算技術(shù)來說是一種高性能的語言。它以易于應(yīng)用的環(huán)境集成了計算、可視化和編程,在該環(huán)境下,問題及其解以我們熟悉的數(shù)學(xué)表示法來表示。典型的應(yīng)用包括如下方面:

數(shù)學(xué)和計算算法開發(fā)數(shù)據(jù)獲取建模、模擬和原型計算數(shù)據(jù)分析、研究和可視化科學(xué)和工程圖形應(yīng)用開發(fā),包括圖像永華界面構(gòu)建MATLAB圖像處理工具箱MATLAB和圖像處理工具箱是一個MATLAB函數(shù)(稱為M函數(shù)或M文件)集,它擴(kuò)展了MATLAB解決圖像處理問題的能力?;驹碇?dāng)?shù)字圖像的表示一幅圖像可以被定義為一個二維函數(shù)f(x,y),其中x和y是空間(平面)坐標(biāo),f在任何坐標(biāo)點(x,y)處的振幅稱為圖像在該點的亮度?;叶仁怯脕肀硎竞诎讏D像亮度的一個術(shù)語,而彩色圖像是由單個二維圖像組合形成的。例如,在RGB彩色系統(tǒng)中,一幅彩色圖像是由三幅獨(dú)立的分量圖像(紅綠藍(lán))組成的。因此,許多黑白圖像處理開發(fā)的技術(shù)適用于彩色圖像處理,方法是分別處理三幅獨(dú)立的分量圖像即可。

圖像關(guān)于x和y坐標(biāo)及振幅連續(xù)。要講這樣的一幅圖像轉(zhuǎn)換成數(shù)字形式,就要求數(shù)字化坐標(biāo)和振幅。將坐標(biāo)值數(shù)字化稱為取樣;將振幅數(shù)字化稱為量化。因此,當(dāng)f的x,y分量和振幅都是有限且離散的量時,稱該圖像為數(shù)字圖像。坐標(biāo)約定取樣和量化的結(jié)果十億個實數(shù)矩陣。在本課程中,假設(shè)對于一幅圖像f(x,y)取樣后,的到了一幅有著M行和N列的圖像。我們稱這幅圖像的大小為MxN。坐標(biāo)(x,y)的值是離散量。為使符號表示清晰方便,我們?yōu)檫@些離散坐標(biāo)使用整數(shù)值。在很多圖像處理書籍中,圖像的原點定義在(x,y)=(0,0)處。沿圖像第一行的下一個坐標(biāo)值為(x,y)=(0,1).注意符號(0,1)用來表示沿第一行的第二個取樣,而不表示圖像在取樣時的實際物理坐標(biāo)值。而在MATLAB圖像處理工具箱(IPTImageprocesstools)中使用(r,c)而不是(x,y)來表示行與列,但坐標(biāo)順序與前段所描述的坐標(biāo)順序一致。此外,在IPT中該坐標(biāo)系統(tǒng)的原點在(r,c)=(1,1)處。坐標(biāo)約定圖像大?。簊ize(f)

給出一幅圖像的行數(shù)和列數(shù)或者用>>[M,N]=size(f)size()返回行數(shù)給M,列數(shù)給N附加信息:whosfwhos顯示一個數(shù)組的附加信息顯示圖像imshow(f)基本語法:imshow(f,G)其中,f是一個圖像數(shù)組,G是顯示該圖像的灰度級數(shù)。若G省略,則默認(rèn)的灰度級數(shù)是256.imshow(f,[lowhigh])

會將所有小雨或等于low的值都顯示為黑色,所有大雨或等于high的值都顯示為白色。介于lowhigh之間的值將以默認(rèn)的級數(shù)顯示為中等亮度。

imshow(f,[])

可以將變量low設(shè)置為數(shù)組f的最小值,將變量high設(shè)置為數(shù)組f的最大值。函數(shù)imshow的這一形式在顯示一幅動態(tài)范圍較小的圖像或既有正直又有負(fù)值的圖像時非常有用。Pixval函數(shù)格式:pixval功能:經(jīng)常用來交互地顯示單個像素的亮度值。該函數(shù)可以顯示覆蓋在圖像上的光標(biāo)。當(dāng)光標(biāo)隨著鼠標(biāo)在圖像上移動時,光標(biāo)所在的位置的坐標(biāo)和該店的亮度值會在該圖形窗口的下方顯示出來。處理彩色圖像時,紅綠藍(lán)分量的坐標(biāo)也會顯示出來。若按下鼠標(biāo)左鍵不放,則pixval將顯示光標(biāo)初始位置和當(dāng)前位置間的歐幾里德距離。保存圖像格式:imwrite(f,’’)在該語法結(jié)構(gòu)中,中包含的字符串必須是一種可是別的文件格式擴(kuò)展名。換言之,所要使用的文件格式要有第三個輸入?yún)⒘棵鞔_指定。例如:>>imwrite(f,’example1’,’tif’)或者:>>imwrite(f,’example1.tif’)另一種常用但只適用于JPEG圖像的函數(shù)語法為:

imwrite(f,’’,’quality’,q)其中,q是一個在0到100之間的整數(shù)(由于JPEG的壓縮,q越小,圖像退化就越嚴(yán)重)。

>>imwrite(f,’exampleq25.jpg’,’quality’,25)Imfinfo函數(shù)格式:imfinfo

是存儲在磁盤中的圖像的全名。例如:>>imfinfo例1腦CT.jpg輸出信息如下:ans=:'例1腦CT.jpg':'11-Oct-201110:28:34':24294Format:'jpg'FormatVersion:''Width:240Height:286BitDepth:24ColorType:'truecolor'FormatSignature:''Comment:{}Imfinfo函數(shù)其中,

以字節(jié)為單位。原圖像字節(jié)數(shù)=widthxheightxbitdepth/8壓縮比=原圖像字節(jié)數(shù)/由函數(shù)Imfinfo顯示的信息域可以捕獲至所謂的結(jié)構(gòu)變量當(dāng)中,以便于后續(xù)的計算。如:>>K=imfinfo('例1腦CT.jpg')

K=

:'例1腦CT.jpg'

:'11-Oct-201110:28:34'

:24294

Format:'jpg'

FormatVersion:''

Width:240

Height:286

BitDepth:24

ColorType:'truecolor'

FormatSignature:''

Comment:{}數(shù)據(jù)類雖然我們處理的是整數(shù)坐標(biāo)。但matlab中的像素本身并不是整數(shù)。如下表:

名稱描述double雙精度浮點數(shù)(8比特每像素)unit8無符號8比特整數(shù),0-255(1比特每像素)unit16無符號16比特整數(shù),0-65535(2比特每像素)unit32無符號32比特整數(shù),0-4294967295(4比特每像素)int8有符號8比特整數(shù),-128到127(1比特每像素)int16有符號16比特整數(shù),-32768到32767(2比特每像素)int32有符號32比特整數(shù),(4比特每像素)single單精度浮點數(shù)(4比特每像素)char字符(2比特每像素)logical值為0或1(1比特每像素)MATLAB中所有的數(shù)值計算都可以用double類來進(jìn)行,所以他也是圖像處理中最常使用的數(shù)據(jù)類。Uint8數(shù)據(jù)類也是頻繁使用的數(shù)據(jù)類,尤其實在從存儲中讀取數(shù)據(jù)時,因為8比特圖像是實際中最常用的圖像。圖像類型亮度圖像(Intensityimages)二值圖像(Binaryimages)索引圖像(Indeximages)RGB圖像(RGBimages)亮度圖像是一個數(shù)據(jù)矩陣,其歸一化的取值表示亮度。若亮度圖像的像素都是uint8類或者uint16類,則它們的整數(shù)值范圍分別是0-255和0-65535。如果是double類,則像素的取值是浮點數(shù)。規(guī)定雙精度型歸一化亮度圖像的取值范圍是0-1。二值圖像在matlab中具有非常特殊的意義。一幅二值圖像是一個取值只有0和1的邏輯數(shù)組。因而,一個取值包含0和1的uint8類數(shù)組,在matlab中并不認(rèn)為是二值圖像。使用loglcal函數(shù)可以把數(shù)值數(shù)組轉(zhuǎn)換為二值數(shù)組。因此,若A是一個由0和1構(gòu)成的數(shù)值數(shù)組,則可以使用如下的語句常見一個邏輯數(shù)組B:B=logical(A)若A中包含除了0和1之外的其他元素,則logical函數(shù)就可以將所有的非零的量變換為邏輯1而將所有的0值變成邏輯0。要測試一個數(shù)組是否為邏輯數(shù)組可以使用函數(shù)islogical。如islogical(B)。B是邏輯數(shù)組返回1,否則返回0。數(shù)據(jù)類及其相互轉(zhuǎn)換數(shù)據(jù)類型間的轉(zhuǎn)換很直接。通用的語法為:

B=data_class_name(A)其中,data_class_name是數(shù)據(jù)類型的任何一種。例如:假設(shè)A是一個uint8類型數(shù)組,則命令B=double(A)會產(chǎn)生一個雙精度數(shù)組B。假設(shè)C是一個0-255(很有可能包含小數(shù))的雙精度類數(shù)組,則命令D=uint8(C)可以將其轉(zhuǎn)換為一個uint8類數(shù)組。若一個double類數(shù)組包含有0-255之外的值,則在使用上述方法將其轉(zhuǎn)化為uint8數(shù)組時,matlab會將所有的小于0的值轉(zhuǎn)換為0,所有大于255的值轉(zhuǎn)換為255,而在0-255之間的值將舍去其小數(shù)部分轉(zhuǎn)換為整數(shù)。因此,在double轉(zhuǎn)換為uint8之前有必要對其進(jìn)行適當(dāng)?shù)目s放,以便其元素取值盡量在0-255內(nèi)。同時再將任何數(shù)據(jù)類轉(zhuǎn)換為logicl類時,數(shù)組中所有的非0值將轉(zhuǎn)換成邏輯1,0值將轉(zhuǎn)換成邏輯0。im2uint8例如:>>f=[-0.50.5;0.751.5]f=-0.50000.50000.75001.5000>>g=im2uint8(f)g=0128191255函數(shù)im2uint8將輸入中所有小于0的設(shè)置為0,而將輸入中所有大于1的值設(shè)為255,再講所有其他的值乘以255.將得到的結(jié)果四舍五入為最接近的整數(shù)后就完成轉(zhuǎn)換。mat2gray要把一個double類的任意數(shù)組轉(zhuǎn)換成取值范圍為0-1的歸一化double類數(shù)組,可以通過函數(shù)mat2gray完成,語法為:

g=mat2gray(A,[Amin,Amax])其中,圖像g的取值范圍在0(黑色)-1(白色)之間。規(guī)定參數(shù)Amin和Amax,是為了在轉(zhuǎn)換是將A中小于Amin的值在g中轉(zhuǎn)換為0,將g中大于Amax的值在g中轉(zhuǎn)換為1。語句>>g=mat2gray(A);將矩陣中實際最小值和最大值分別賦給Amin和Amax。im2doubleIm2double將輸入轉(zhuǎn)換為double類。如輸入的是uint8,uint16,logical則函數(shù)im2double將其轉(zhuǎn)換為0-1范圍內(nèi)。若輸入是double類,則函數(shù)im2double將返回一個與輸入相等的數(shù)組。>>h=uint8([2550;128200])h

溫馨提示

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

評論

0/150

提交評論