1 / 42

數位影像處理 2 影像與 MATLAB

數位影像處理 2 影像與 MATLAB. 目 錄. 2.1 灰階影像 2.2 RGB 影像 2.3 索引彩色影像 2.4 資料型態與轉換 2.5 影像檔案與格式. 2.1 灰階影像. 使用指令的時候要注意兩點: 指令以分號結尾,這樣指令的結果便不會出現在螢幕上 檔案名稱 wombats.tif 前後必須加上單引號 接下來就可以將這個矩陣以灰階影像的型式 顯示出來. MATLAB 允許同一行裡鍵入多個指令,只需用逗號分開不同指令即可 figure 所謂的 figure 便是指圖形物件 呈現的視窗,物件可包含影像 或各種圖表

howard
Télécharger la présentation

數位影像處理 2 影像與 MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 數位影像處理 2 影像與MATLAB

  2. 目 錄 2.1灰階影像 2.2 RGB影像 2.3索引彩色影像 2.4資料型態與轉換 2.5影像檔案與格式

  3. 2.1 灰階影像

  4. 使用指令的時候要注意兩點: • 指令以分號結尾,這樣指令的結果便不會出現在螢幕上 • 檔案名稱wombats.tif前後必須加上單引號 接下來就可以將這個矩陣以灰階影像的型式 顯示出來

  5. MATLAB允許同一行裡鍵入多個指令,只需用逗號分開不同指令即可MATLAB允許同一行裡鍵入多個指令,只需用逗號分開不同指令即可 • figure 所謂的figure便是指圖形物件 呈現的視窗,物件可包含影像 或各種圖表 • imshow (g) 將g以影像形式顯示出來 • pixval on 在figure中顯示像素值,也就 是影像的像素灰階值

  6. c × r = p c是指定之像素的行值,r是列值,p則是灰階值。由於wombats.tif是一個8位元的灰階影像像素質便會是0-255間的整數

  7. 2.2 RGB影像 • 描述色彩的方法有許多種,但影像顯示與儲存的標準模型則是RGB。也就是如圖2.2所示,所有的顏色都座落在第一象限的色彩立方體中。 • RGB是電腦螢幕和電視機顯示色彩的標準,但並不是用來描述色彩的好方法

  8. MATLAB處理24位元RGB影像的方式和處理灰階影像差不多,可將色彩值存入矩陣中,然後顯示結果:MATLAB處理24位元RGB影像的方式和處理灰階影像差不多,可將色彩值存入矩陣中,然後顯示結果:

  9. 透過下面這個指令,可以看出RGB與灰階影像的明顯不同透過下面這個指令,可以看出RGB與灰階影像的明顯不同 這個指令顯示出三項數值:a的列數、行數及平面數,說明a是一個三維矩陣,也稱作多為陣列 (multidimensional array)

  10. 2.3 索引彩色影像 • emu.tif 這個影像檔就是所謂的索引影像 (indexed image),其中包含了兩個矩陣 • 色譜 ( color map) • 色譜的索引 (index) 若把影像讀入單一矩陣又只會取得索引,因此還 必須另外取得色譜才行

  11. 2.3.1 影像資訊 • imfinfo函數可以顯示出很多影像資訊。譬如說,以上述的索引影像emu.tif為例。

  12. 和下面這個全彩檔案的資訊做個比較

  13. 然後再將此函數使用在二元數位影像上:

  14. MATLAB並不會區分灰階影像和二元數位影像:二元影像不過就是一種灰階影像的特例,因為它只有兩種明暗度。MATLAB並不會區分灰階影像和二元數位影像:二元影像不過就是一種灰階影像的特例,因為它只有兩種明暗度。 • 可以看出text.tif是一個二元數位影像,因為,每個像素的位元數都是1

  15. 2.4資料型態與轉換 • MATLAB矩陣中的元素可能會有資料型態,就如表2-1所示

  16. 影像類型可以互相轉換,表2.2列出了MATLAB可以進行的所有影像轉換函數影像類型可以互相轉換,表2.2列出了MATLAB可以進行的所有影像轉換函數

  17. 2.5 影像檔案與格式 • 影像檔案也有標頭資訊(header information),最少會包含以像素為單位的影像尺寸,還可能包含了色譜、壓縮方式及影像的描述 • MATLAB可以辨識許多標準影像格式 • TIFF影像是非常普遍的格式,TIFF格式非常適合在不同操作系統及環境間傳送影像時使用

  18. MATLAB的imread和imwrite函數目前可支援下列格式

  19. 十六進位傾印函數 要分析二進位檔案,就需要一個簡單的函數以十六進位值列出檔案內容 • 圖2.3就是一個簡單的十六進位傾印函數

  20. 2.5.1 向量影像 vs 掃描點影像 儲存影像資訊有兩種不同的方法 • 線或向量集合 (向量影像 vector image) • 優點:可以放大成任何想要的大小,而且不會 模糊 • 缺點:不適用於顯示自然景象 • 標準向量格式:Adobe PostScript • 點的集合 ( 掃描點影像 raster images) • 大部分的影像檔案格式都將影像儲存為掃描點 的資訊,例如:數位相機

  21. 2.5.2簡單的掃描點影像格式 除了像素資訊之外,影像檔案必須包含標頭資訊,如影像大小及其他資訊。我們簡單介紹ASCIIPGM格式:

  22. 這種PGM格式: 優點:非常容易讀寫 缺點:檔案會變的很大 使用這些格式來儲存的二元、灰階 或彩色影像總稱為PNM影像。MATLAB不 直接支援PNM影像。

  23. 2.5.3 微軟BMP • 微軟視窗BMP影像格式是一種相當簡單的數位影像格式 • BMP也是在標頭之後顯示影像資訊 • 標頭分為兩個部分 • 前14位元組(0-13位元組)是檔案標頭 • 接下來40位元組(14-53位元組)則是資訊標頭

  24. 標頭之後接著是色彩表,只有在位元計數小於等於8的時候才會使用,所佔的位元組數為4倍使用色彩標頭之後接著是色彩表,只有在位元計數小於等於8的時候才會使用,所佔的位元組數為4倍使用色彩 • BMP格式的位元組排序是按照英特爾的「小尾序」原則,4位元組的字組,由最低的位元組到最高的位元組

  25. 影像寬度資料位於第18-21位元組,在第二列 42 00 00 00 要知道確實寬度, 必須重新排列 00 00 00 42 再轉換為10進位 4*161+2*160=66 影像高度資料位於第22-25位元組,在第二列 1F 00 00 00 要知道確實高度, 必須重新排列 00 00 00 1F 再轉換為10進位 1*161+F*160=31

  26. 2.5.4 GIF與PNG GIF特性 • 色彩使用色譜儲存 • GIF無法儲存二元或灰階影像,除非使用RGB值產生對應的顏色 • 像素資料使用LZW (Lempel-Ziv-Welch)壓縮 • GIF格式每個檔案可包含多個影像,可用於創造動畫GIF

  27. PNG • PNG支援灰階、全彩和索引影像 • 使用的壓縮工具zlib具有較好的壓縮效果 • PNG也支援alpha圖層以及gamma校正技術

  28. 2.5.5 JPEG • JPEG演算法的壓縮會失真,原始資料無法完全復原 • JPEG影像基本上會比GIF或PNG影像來的小 • JPEG影像最適合表現自然風景 • JPEG格式較不適用法律證據或科學資料等影像 • JPEG影像非常適合用於圖形顯示

  29. JPEG使用dumphex函數便可取得此標頭 版本 水平密度 垂直密度

  30. 含有JPEG壓縮資料的影像檔案通常就稱為JPEG影像,這並非完全正確,這樣的影像應稱為JFIF影像含有JPEG壓縮資料的影像檔案通常就稱為JPEG影像,這並非完全正確,這樣的影像應稱為JFIF影像 • JFIF定義允許檔案包含該影像的預覽小圖,這可以在標頭資訊中獲知

  31. 2.5.6 TIFF

  32. 7

  33. 2.5.8 MATLAB中的檔案 使用imwirte函數便可將影像矩陣寫入影像檔案。一般形式為:

  34. JPEG影像檔案壓縮率計算 • 使用imwirte函數儲存JPEG影像檔案的語法 imwrite(f,’filename.jpg’,’quality’,q) • 壓縮品質q是介於0到100的整數q越小品質越差 例如imwrite(f,’coins25.jpg’,’quality’,25) • 計算壓縮率 k=imfinfo(‘coins25.jpg’); image_bytes=k.Width*k.Height*k.BitDepth/8; compressed_bytes=k.FileSize; compression_ratio=image_bytes/compressed_bytes

  35. TIFF影像檔案 • 使用imwirte函數儲存TIFF影像檔案的語法 imwrite(q,’filename.tif’,’compression’,’parameter’,…, ’resoluson’,[colres rowres]) 其中’parameter’可以是’none’ 、’packbits’ 、’ccitt’ ; [colres rowres]是行與列的解析度以點數為單位 • 例如 imwite(f,’newborn200.tif’,’compression’,’none’,’resolution’,[200 200]) res=round(200*1.25/0.833); %200dpi乘以1.25/0.833=300dpi f1=imread(‘newborn200.tif’); imwite(f1,’newborn300.tif’,’compression’,’none’,’resolution’,res)

More Related