matlab圖像顯示

imshow主要用於調用圖像索引,比如:
imshow(X,map)
其功能等同於:
image(X)
colormap(map)
但是,inshow的功能要強大一些,比如用於灰度圖像,RGB圖像,二進制圖像,都可以應用。

imagesc屬於圖像縮放函數

具體說一些例子:
要顯示一副灰度圖像,可以調用函數 imshow 或 imagesc (即
imagescale,圖像縮放函數)

(1) imshow 函數顯示灰度圖像
使用 imshow(I) 或 使用明確指定的灰度級書目:imshow(I,32)

由於Matlab自動對灰度圖像進行標度以適合調色板的範圍,因而可以使用自定義
大小的調色板。其調用格式如下:
imshow(I,[low,high])
其中,low 和 high 分別爲數據數組的最小值和最大值。

(2) imagesc 函數顯示灰度圖像
下面的代碼是具有兩個輸入參數的 imagesc 函數顯示一副灰度圖像
imagesc(1,[0,1]);
colormap(gray);
imagesc 函數中的第二個參數確定灰度範圍。灰度範圍中的第一個值(通常是0),
對應於顏色映象表中的第一個值(顏色),第二個值(通常是1)則對應與顏色映象表
中的最後一個值(顏色)。灰度範圍中間的值則線型對應與顏色映象表中剩餘的值(顏色)。

在調用 imagesc 函數時,若只使用一個參數,可以用任意灰度範圍顯示圖像。在該
調用方式下,數據矩陣中的最小值對應於顏色映象表中的第一個顏色值,數據矩陣中的最大
值對應於顏色映象表中的最後一個顏色值。

5.3 RGB 圖像及其顯示
(1) image(RGB)
不管RGB圖像的類型是double浮點型,還是 uint8 或 uint16 無符號整數型,Matlab都
能通過 image 函數將其正確顯示出來。

RGB8 = uint8(round(RGB64×255)); % 將 double 浮點型轉換爲 uint8 無符號整型
RGB64 = double(RGB8)/255; % 將 uint8 無符號整型轉換爲 double 浮點型
RGB16 = uint16(round(RGB64×65535)); % 將 double 浮點型轉換爲 uint16 無符號整型
RGB64 = double(RGB16)/65535; % 將 uint16 無符號整型轉換爲 double 浮點型

(2) imshow(RGB) 參數是一個 m×n×3 的數組

5.4 二進制圖像及其顯示

(1) imshow(BW)
在 Matlab 7.0 中,二進制圖像是一個邏輯類,僅包括 0 和 1 兩個數值。像素 0 顯示
爲黑色,像素 1 顯示爲白色。
顯示時,也可通過NOT(~)命令,對二進制圖象進行取反,使數值 0 顯示爲白色;1 顯示
爲黑色。
例如: imshow(~BW)

(2) 此外,還可以使用一個調色板顯示一副二進制圖像。如果圖形是 uint8 數據類型,
則數值 0 顯示爲調色板的第一個顏色,數值 1 顯示爲第二個顏色。
例如: imshow(BW,[1 0 0;0 0 1])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章