matlab醫學影響數字處理課件_第1頁
matlab醫學影響數字處理課件_第2頁
matlab醫學影響數字處理課件_第3頁
matlab醫學影響數字處理課件_第4頁
matlab醫學影響數字處理課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、醫學影像數字處理MATLAB簡介 matlab醫學影響數字處理1醫學影像數字處理MATLAB簡介matlab醫學影響數字處理MATLAB簡介 MATLAB對于計算技術來說是一種高性能的語言。它以易于應用的環境集成了計算 、可視化和編程,在該環境下,問題及其解以我們熟悉的數學表示法來表示。典型的應用包括如下方面: 數學和計算 算法開發 數據獲取 建模、模擬和原型計算 數據分析、研究和可視化 科學和工程圖形 應用開發,包括圖像永華 界面構建matlab醫學影響數字處理2MATLAB簡介 MATLAB對于計MATLAB圖像處理工具箱 MATLAB和圖像處理工具箱是一個MATLAB函數(稱為M函數或M

2、文件)集,它擴展了MATLAB解決圖像處理問題的能力。matlab醫學影響數字處理3MATLAB圖像處理工具箱 MATLAB和圖MATLAB工作環境MATLAB桌面matlab醫學影響數字處理4MATLAB工作環境MATLAB桌面matlab醫學影響數字基本原理之數字圖像的表示 一幅圖像可以被定義為一個二維函數f(x,y),其中x和y是空間(平面)坐標,f在任何坐標點(x,y)處的振幅稱為圖像在該點的亮度。灰度是用來表示黑白圖像亮度的一個術語,而彩色圖像是由單個二維圖像組合形成的。例如,在RGB彩色系統中,一幅彩色圖像是由三幅獨立的分量圖像(紅綠藍)組成的。因此,許多黑白圖像處理開發的技術適用

3、于彩色圖像處理,方法是分別處理三幅獨立的分量圖像即可。 圖像關于x和y坐標及振幅連續。要講這樣的一幅圖像轉換成數字形式,就要求數字化坐標和振幅。將坐標值數字化稱為取樣;將振幅數字化稱為量化。因此,當f的x,y分量和振幅都是有限且離散的量時,稱該圖像為數字圖像。matlab醫學影響數字處理5基本原理之數字圖像的表示 一幅圖像可以被定義為坐標約定 取樣和量化的結果十億個實數矩陣。在本課程中,假設對于一幅圖像f(x,y)取樣后,的到了一幅有著M行和N列的圖像。我們稱這幅圖像的大小為MxN。坐標(x,y)的值是離散量。為使符號表示清晰方便,我們為這些離散坐標使用整數值。在很多圖像處理書籍中,圖像的原點

4、定義在(x,y)=(0,0)處。沿圖像第一行的下一個坐標值為(x,y)=(0,1).注意符號(0,1)用來表示沿第一行的第二個取樣,而不表示圖像在取樣時的實際物理坐標值。 而在MATLAB圖像處理工具箱(IPT Image process tools)中使用(r,c)而不是(x,y)來表示行與列,但坐標順序與前段所描述的坐標順序一致。此外,在IPT中該坐標系統的原點在(r,c)=(1,1)處。matlab醫學影響數字處理6坐標約定 取樣和量化的結果十億個實數矩陣坐標約定matlab醫學影響數字處理7坐標約定matlab醫學影響數字處理7讀取圖像讀取圖像語法: imread()例:f=imrea

5、d(例1腦CT.jpg) f=imread(C:MATLAB6p5work例1腦CT.jpg) f=imread(.例1腦CT.jpg)matlab醫學影響數字處理8讀取圖像讀取圖像語法:matlab醫學影響數字處理8圖像大?。簊ize(f) 給出一幅圖像的行數和列數或者用M,N= size(f) size()返回行數給M ,列數給N 附加信息:whos f whos 顯示一個數組的附加信息matlab醫學影響數字處理9圖像大?。簊ize(f)matlab醫學影響數字處理9顯示圖像imshow(f)基本語法:imshow(f,G)其中,f是一個圖像數組,G是顯示該圖像的灰度級數。若G省略,則默

6、認的灰度級數是256. imshow(f,low high) 會將所有小雨或等于low的值都顯示為黑色,所有大雨或等于high的值都顯示為白色。介于low high之間的值將以默認的級數顯示為中等亮度。 imshow(f, ) 可以將變量low設置為數組f的最小值,將變量high設置為數組f的最大值。函數imshow的這一形式在顯示一幅動態范圍較小的圖像或既有正直又有負值的圖像時非常有用。matlab醫學影響數字處理10顯示圖像imshow(f)matlab醫學影響數字處理10Pixval函數格式 : pixval功能:經常用來交互地顯示單個像素的亮度值。該函數可以顯示覆蓋在圖像上的光標。當光

7、標隨著鼠標在圖像上移動時,光標所在的位置的坐標和該店的亮度值會在該圖形窗口的下方顯示出來。處理彩色圖像時,紅綠藍分量的坐標也會顯示出來。若按下鼠標左鍵不放,則pixval將顯示光標初始位置和當前位置間的歐幾里德距離。matlab醫學影響數字處理11Pixval函數格式 : pixvalmatlab醫學影Figure函數Fingure .當用imshow顯示另一幅圖像時,MATLAB會在屏幕上用新的圖像替換舊圖像。為了保持第一幅圖像并同時顯示多幅圖像可以使用figure如:imshow(f) figure ,imshow(g)matlab醫學影響數字處理12Figure函數Fingure .當用

8、imshow顯示另一幅保存圖像格式: imwrite(f,)在該語法結構中,中包含的字符串必須是一種可是別的文件格式擴展名。換言之,所要使用的文件格式要有第三個輸入參量明確指定。例如:imwrite(f,example1,tif)或者: imwrite(f,example1.tif)另一種常用但只適用于JPEG圖像的函數語法為: imwrite(f,quality,q)其中,q是一個在0到100之間的整數(由于JPEG的壓縮,q越小,圖像退化就越嚴重)。 imwrite(f,exampleq25.jpg,quality,25)matlab醫學影響數字處理13保存圖像格式: imwrite(f,

9、)matlab醫學影Imfinfo函數格式:imfinfo 是存儲在磁盤中的圖像的全名。例如:imfinfo 例1腦CT.jpg輸出信息如下:ans = : 例1腦CT.jpg : 11-Oct-2011 10:28:34 : 24294 Format: jpg FormatVersion: Width: 240 Height: 286 BitDepth: 24 ColorType: truecolor FormatSignature: Comment: matlab醫學影響數字處理14Imfinfo函數格式:imfinfo matlab醫學影Imfinfo函數其中, 以字節為單位。原圖像字節

10、數=width x height x bitdepth / 8壓縮比=原圖像字節數/由函數Imfinfo顯示的信息域可以捕獲至所謂的結構變量當中,以便于后續的計算。如: K= imfinfo(例1腦CT.jpg) K = : 例1腦CT.jpg : 11-Oct-2011 10:28:34 : 24294 Format: jpg FormatVersion: Width: 240 Height: 286 BitDepth: 24 ColorType: truecolor FormatSignature: Comment: matlab醫學影響數字處理15Imfinfo函數其中, 以字節為單位。

11、matlab醫學影響保存圖像imwrite 適用于tif圖像的語法為:Imwrite(g,compression,parameter, resolution,colres rowres)其中, parameter可以是如下的主要的值之一:none表示無壓縮;packbits 表示比特包壓縮(非二值圖像的默認參數);ccitt表示ccitt壓縮(二值圖像的默認參數)。1X2矩陣colres rowres包含兩個整數,分別以每單位中的點數給出圖像的列分辨率和行分辨率(默認值為72 72). Colres是垂直方向上每英寸的點數dpi (像素)。 Rowres是水平方向上每英寸的點數。matlab醫

12、學影響數字處理16保存圖像imwrite 適用于tif圖像的語法為:matla數據類 雖然我們處理的是整數坐標。但matlab中的像素本身并不是整數。如下表: 名稱描述double雙精度浮點數(8比特每像素)unit8無符號8比特整數,0-255 (1比特每像素)unit16無符號16比特整數,0-65535 (2比特每像素)unit32無符號32比特整數,0-4294967295 (4比特每像素)int8有符號8比特整數,-128到127 (1比特每像素)int16有符號16比特整數,-32768到32767 (2比特每像素)int32有符號32比特整數,(4比特每像素)single單精度浮

13、點數(4比特每像素)char字符(2比特每像素)logical值為0或1 (1比特每像素)MATLAB中所有的數值計算都可以用double類來進行,所以他也是圖像處理中最常使用的數據類。Uint8數據類也是頻繁使用的數據類,尤其實在從存儲中讀取數據時,因為8比特圖像是實際中最常用的圖像。matlab醫學影響數字處理17數據類 雖然我們處理的是整數坐標。但matlab圖像類型亮度圖像(Intensity images)二值圖像(Binary images)索引圖像(Index images)RGB圖像(RGB images)亮度圖像是一個數據矩陣,其歸一化的取值表示亮度。若亮度圖像的像素都是ui

14、nt8類或者uint16類,則它們的整數值范圍分別是0-255和0-65535。如果是double類,則像素的取值是浮點數。規定雙精度型歸一化亮度圖像的取值范圍是0-1。二值圖像 在matlab中具有非常特殊的意義。一幅二值圖像是一個取值只有0和1的邏輯數組。因而,一個取值包含0和1的uint8類數組,在matlab中并不認為是二值圖像。使用loglcal函數可以把數值數組轉換為二值數組。因此,若A是一個由0和1構成的數值數組,則可以使用如下的語句常見一個邏輯數組B: B=logical(A) 若A中包含除了0和1之外的其他元素,則logical函數就可以將所有的非零的量變換為邏輯1而將所有的

15、0值變成邏輯0。要測試一個數組是否為邏輯數組可以使用函數 islogical。如islogical(B)。B是邏輯數組返回1,否則返回0。matlab醫學影響數字處理18圖像類型亮度圖像(Intensity images)matl數據類及其相互轉換數據類型間的轉換很直接。通用的語法為: B=data_class_name(A) 其中,data_class_name是數據類型的任何一種。例如:假設A是一個uint8類型數組,則命令B=double(A)會產生一個雙精度數組B。假設C是一個0-255(很有可能包含小數)的雙精度類數組,則命令D=uint8(C)可以將其轉換為一個uint8類數組。若

16、一個double類數組包含有0-255之外的值,則在使用上述方法將其轉化為uint8數組時,matlab會將所有的小于0的值轉換為0,所有大于255的值轉換為255,而在0-255之間的值將舍去其小數部分轉換為整數。因此,在double轉換為uint8之前有必要對其進行適當的縮放,以便其元素取值盡量在0-255內。同時再將任何數據類轉換為logicl類時,數組中所有的非0值將轉換成邏輯1,0值將轉換成邏輯0。matlab醫學影響數字處理19數據類及其相互轉換數據類型間的轉換很直接。通用的語法為:ma圖像類和類型間的轉換IPT中用于圖像類和類型間轉換的函數如下表:名稱將輸入轉換為有效的輸入圖像數

17、據類im2uint8uint8logical,uint8,uint16,doubleim2uint16uint16logical,uint8,uint16,doublemat2graydouble,范圍0-1doubleim2doubledouble logical,uint8,uint16,doubleim2bwlogicaluint8,uint16,doublematlab醫學影響數字處理20圖像類和類型間的轉換IPT中用于圖像類和類型間轉換的函數如下im2uint8例如: f=-0.5 0.5 ;0.75 1.5f = -0.5000 0.5000 0.7500 1.5000 g=im2

18、uint8(f)g = 0 128 191 255函數im2uint8將輸入中所有小于0的設置為0,而將輸入中所有大于1的值設為255,再講所有其他的值乘以255.將得到的結果四舍五入為最接近的整數后就完成轉換。 matlab醫學影響數字處理21im2uint8例如: f=-0.5 0.5 ;0.7mat2gray要把一個double類的任意數組轉換成取值范圍為0-1的歸一化double類數組,可以通過函數mat2gray完成,語法為: g= mat2gray(A,Amin, Amax)其中,圖像g的取值范圍在0(黑色)-1(白色)之間。規定參數Amin和Amax,是為了在轉換是將A中小于Amin的值在g中轉換為0,將g中大于Amax的值在g中轉換為1。語句g= mat2gray(A);將矩陣中實際最小值和最大值分別賦給Amin和Amax。matlab醫學影響數字處理22mat2gray要把一個double類的任意數組轉換成取值范im2double Im2double將輸入轉換為double類。如輸入的是uint8,uint16,logical則函數im2double將其轉換為0-1范圍內。若輸入是double類,則函數im2double將返回一個與輸入相等的數組。 h=uint8(

溫馨提示

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

評論

0/150

提交評論