1. 程式人生 > >數字影象的表示與型別(學習篇)

數字影象的表示與型別(學習篇)

一、數字影象的表示

一幅影象可以被定義為一個二維函式f(x,y),其中(x,y)是空間(平面)座標,在任何座標(x,y)處的幅度f被定義為影象在這一位置的亮度。

影象在x和y座標以及在幅度變化上是連續的。要將這樣的一幅影象轉換成數字形式,要求對座標和幅度進行數字化。將座標值數字化稱為取樣,將幅值數字化稱為量化。因此,當x、y分量及幅值f都是有限且離散的量時,我們稱影象為數字影象

1、座標約定

取樣和量化的結果都是實數矩陣。假設對一幅影象f(x,y)取樣後,可得到一幅M行、N列的影象,我們稱這幅影象大小是M x N。相應的值是離散的。為了符號清晰和方便可見,這些離散的座標都取整數。

這裡介紹兩種方法表示數字影象。

一種是將影象的原點定義為(x,y)=(0,0)。影象中沿著第1行的下一座標點(x,y)=(0,1)。符號(0,1)用來表示沿著第1行的第2個取樣。圖1-1顯示這一座標約定。注意x是從0到M-1的整數,y是從0到N-1的整數。


1-1

另外一種是座標原點為(x,y)=(1,1),如在matlab的影象處理工具箱中。這種約定如圖1-2所示:

1-2

2、影象的矩陣表示

根據圖1-1的座標系統,我們可以得到數字影象的下列表示:


等式右邊是定義的一幅數字影象。陣列中每個元素都被稱為影象元素、圖畫元素或畫素。以後,我們用影象(image)畫素(pixel)這兩個術語表示數字影象及元素。

將數字影象表示成

MATLAB矩陣:


二、數字影象畫素的類(資料型別)和型別(主要基於matlab說明

1、影象的資料型別

雖然使用的是整數座標,但MATLAB中畫素值(亮度)並未限制為整數。表2-1列出了MATLAB和影象處理工具箱為描述畫素值而支援的各種類。表中前8項是數值型的資料類,第9項稱為字元類,最後一項為邏輯類。

2-1 MATLAB中用於影象處理的類,前8項是數值型的資料類,第9項是字元類,最後一項是邏輯類。MATLAB還支援int64和uint64,但工具箱不支援它們。

2、影象型別

工具箱支援4種影象型別:灰度影象,二值影象,索引影象,RGB影象。

2.1 灰度影象

灰度影象是資料矩陣,矩陣的值表示濃淡。當灰度影象的元素

uint8或者uint16時,他們分別具有[0,255]或[0,65535]的整數值。如果影象是double類或single類,值就是浮點數。double或single灰度影象的值通常被歸一化標定為[0,1]範圍內,但也可以使用其他範圍的值。

2.2 二值影象

二值影象在MATLAB中具有非常特殊的意義。二值影象是取值只有0和1的邏輯陣列。因此,只包含0和1資料類的陣列,比如uint8,matlab中就不認為是二值影象。用logical函式可以把數值陣列轉換為二值影象。因此,如果A是0和1構成的數值陣列,就可以使用下列語句建立邏輯陣列B:

B=logical(A)。

A中含有除了0或1之外的其他元素,使用logical函式就可以將所有非0值變換為邏輯1,而將所有0值變換為0。也可以使用關係和邏輯算賬得到邏輯陣列。

2.3 索引影象

2.4 RGB影象


未完,待續。。