顯示具有 image 標籤的文章。 顯示所有文章
顯示具有 image 標籤的文章。 顯示所有文章

2008年9月28日 星期日

IMFINFO:Information about graphics file

透過 IMFINFO 這個指令, 我們可以獲得關於影像檔案的相關資訊。
inf = imfinfo('twins.tif');
觀察 workspace 中的變化,
 
我們發現 IMFINFO 傳回值都放到一個特定型態的結構之中。連按 inf 兩下, 就可以打開 Array Editor 視窗, 觀察 inf 的實際內容。

 
 

PIXVAL: Display information about image pixels

PIXVAL('ON') 可以將像素色彩值顯示在圖表視窗(figure window)之中。
figure;
imshow(w);
pixval('on');


我們可以看到 figure 1 底下多了一行反白顯示, 當我們把滑鼠移到圖片上時, 就可以看到圖片上有一個 " + " 的游標, 然後反白顯示列會出現游標的相對應位置與該像素的色彩值。

IMSHOW: Display image

IMSHOW 指令就是將影像顯示在 figure window 之中。不過, 由於影像的格式與類型實在是太多, 太複雜了, 因此, 如果你在 command window 之中, 用 help 查詢 IMSHOW 指令, 你會看到非常多種下不同參數的 IMSHOW 指令。若從另一種角度來看, 這不正也顯示出 IMSHOW 指令的功能強大嗎?
imshow(w)

IMREAD: Read image from graphics file

把 IMREAD 這個指令拆解, 就是 image read, 就是從影像檔案中讀入影像資料到 workspace 中, 在 MATLAB 整合環境的 Command Window 中鍵入 help imread, 你會看到關於 IMREAD 指令的完整說明。底下就是出現在說明文字中的第一段:
A = IMREAD(FILENAME,FMT) reads a grayscale or color image from the file specified by the string FILENAME, where the string FMT specifies the format of the file.
我們直接用例子說明。請下載範例影像 wombats.tif 與 twins.tif 後, 在 Command Window 鍵入:
w=imread('wombats.tif');
你會發現在 workspace 視窗中, 已經多了一列資料, 告訴你 w 這個矩陣變數的大小就是 256 * 256, 每個元素的資料型態是 uint8, 換句話說就是長度為 8 位元的 unsigned integer, 沒有正負號的整數。因此, 可表示的數值範圍為 0 ~ 255 的正整數。

 
由於 wombats.tif 是一張灰階影像 ( grayscale image ), 因此, w 是一個二維矩陣。接著, 我們鍵入
x=imread('twins.tif');
觀察 workspace 就會發現多了一個三維陣列 x。