緒論
數字影像處理方法的重要性源于兩個主要應用領域:改善圖示資訊以便人們解釋;為存盤、傳輸和表示而對影像資料進行處理,以便機器自動理解,
1、數字影像
自然界中的影像都是模擬量,在計算機普遍應用之前,電視、電影、照相機等影像記錄與傳輸設備都是使用模擬信號對影像進行處理,但是,計算機只能處理數字量,而不能直接處理模擬影像,所以我們要在計算機處理影像之前進行影像數字化處理,
1.1、什么是數字影像
簡單的說,數字影像就是能夠在計算機上顯示和處理的影像,可根據其特征分為兩大類——位圖和矢量圖,位圖通常使用數字陣列來表示,常見的格式有 BMP、JPG、GIF 等;矢量圖由矢量資料庫表示,我們接觸最多的就是 PNG 圖形,
一幅影像可定義為一個二維函式 f(x,y),其中 x 和 y 是空間(平面)坐標,而在任何一對空間坐標(x,y)處的幅值 f 稱為影像在該點處的強度、亮度或灰度,當 x,y 和灰度值 f 是非負有限的離散數值時,我們稱該影像為數字影像(位圖),
注意,數字影像處理是由有限數量的元素組成,每個元素都有一個特定的位置和幅值,這些元素稱為圖畫元素、影像元素或像素,像素是廣泛用于表示數字影像元素的術語,例如,一個大小為 M×N 數字影像是由 M 行 N 列的有限元素組成,每個元素都有特定的位置和幅值,代表了其所在行列位置上的影像物理資訊,如灰度和色彩等,這些元素稱為影像元素或像素,
1.2、數字影像的顯示
不論是 CRT 顯示幕還是 LCD 顯示幕,都是由許多點構成,顯示影像時這些點對應著影像的像素,稱顯示幕為位映像設備,所謂位映像設備,就是一個二維的像素矩陣,而位圖也就是采用位映像方法顯示和存盤的影像,當一幅數字影像被放大后就可以明顯地看出影像是由很多的方格形狀的像素構成的,
1.3、數字影像的分類
根據每個像素所代表的資訊的不同,可將影像分為二值影像、灰度影像、RGB 影像以及索引影像等,
1.3.1、二值影像
每個像素只有黑、白兩種顏色的影像稱為二值影像,在二值影像中,像素只有 0 和 1 兩種取值,一般用 0 來表示黑色,用 1 表示白色,
1.3.2、灰度影像
在二值影像中進一步加入許多介于黑色與白色之間的顏色深度,就構成了灰度影像,這類影像通常顯示為從最暗黑色到最亮的白色的灰度,每種灰度(顏色深度)稱為一個灰度級,通常用 L 來表示,在灰度影像中,像素可以取 0~L-1 之間的整數值,根據保存灰度值所使用的資料型別的不同,可能有 256 種取值或者說 2^k 種取值,當 k=1 時即退化為二值影像,
1.3.3、RGB 影像
眾所周知,自然界中幾乎所有顏色都可以由紅(Red,R)、綠(Green,G)、藍(Blue,B)3 種顏色組合而成,通常稱它們為 RGB 三原色,計算機顯示彩色影像時采用最多的就是 RGB 模型,對于每個像素,通過控制 R、G、B 三原色的合成比例決定該像素的最終顯示顏色,
對于三原色 RGB 中的每一種顏色,可以像灰度圖那樣使用 L 個等級來表示含有這種顏色成分的多少,例如對于含有 256 個等級的紅色,0 表示不含紅色成份,255 表示含有 100% 的紅色成份,同樣,綠色和藍色也可以劃分為 256 個等級,這樣每種原色可以用 8 位二進制資料表示,于是三原色總共需要 24 位二進制數,這樣能夠表示出的顏色種類數目為 256×256×256=2^24,大約有 1600 萬種,已經超過了普通人所能分辨出的顏色數目,
RGB 顏色代碼可以使用十六進制數減少書寫長度,按照兩位一組的方式依次書寫 R、G、B 三種顏色的級別,例如,0xFF0000 代表純紅色,0x00FF00 代表純綠色,而 0x00FFFF 是青色,常見顏色的 RGB 組合值的表如下:
| 顏色 | R | G | B |
|---|---|---|---|
| 紅(0xFF0000) | 255 | 0 | 0 |
| 藍(0x00FF00) | 0 | 255 | 0 |
| 綠(0x0000FF) | 0 | 0 | 255 |
| 黃(0xFFFF00) | 255 | 255 | 0 |
| 紫(0xFF00FF) | 255 | 0 | 255 |
| 青(0x00FFFF) | 0 | 255 | 255 |
| 白(0xFFFFFF) | 255 | 255 | 255 |
| 黑(0x000000) | 0 | 0 | 0 |
| 灰(0x808080) | 128 | 128 | 128 |
未經壓縮的原始 BMP 檔案就是使用 RGB 標準給出的 3 個數值來存盤影像資料的,稱為 RGB 影像,在 RGB 影像中每個像素都是用 24 位二進制數表示,故也稱為 24 位真彩影像,
1.3.4、索引影像
如果對每個像素直接使用 24 位二進制數表示,影像檔案的體積將變得十分龐大,來看一個例子,對一個長、寬各為 200 像素,顏色數為 16 的彩色影像,每個像素都用 RGB 3 個分量表示,這樣每個像素由 3 位元組表示,整個影像就是 200×200×3=120KB,這種未經壓縮的表示方法浪費了大量的存盤空間,所以就引出了另一種更為節省空間的存盤方式:索引影像,
同樣是對 200×200 像素的 16 色影像,由于這張影像最多只有 16 種顏色,那么可以用一張顏色表(16×3 的二維陣列)保存這 16 種顏色對應的 RGB 值,在表示影像的矩陣中使用那 16 種顏色在顏色表中的索引(偏移量)作為資料寫入相應的行列位置,這樣一來,每一個像素所需要使用的二進制數就僅僅為 4 位(0.5 位元組),從而整個影像只需要 200×200×0.5 = 20KB 就可以存盤,
上文所提到的顏色表就是常說的調色板(Palette),另一種說法叫做顏色查找表(LUT:Look Up Table),
1.4、數字影像的實質
更嚴格地說,數字影像可以是兩個變數(對于靜止影像)或 3 個變數(對于動態影像)的離散函式,在靜態影像的情況下是 f(x,y),而如果是動態影像畫面,則還需要時間引數 t,即 f(x,y,t);函式值可能是一個數值(對于灰度影像),也可能是一個向量(對于彩色影像),
影像處理是一個涉及諸多領域的交叉學科,下面從不同的角度來審視數字影像:
- 從線性代數和矩陣論的角度,數字影像是由影像資訊組成的二維矩陣,矩陣的每個元素代表對應位置上的影像亮度和/或色彩資訊,當然,這個二維矩陣在資料表示和存盤上可能不是二維的,這是因為每個單位位置的影像資訊可能需要不只一個數值來表示,這樣可能需要一個三維矩陣來對其進行表示,
- 由于隨機變化和噪聲的原因,影像在本質上是統計性的,因而有時將影像作為隨機程序的實作來觀察存在其優越性,這時有關影像資訊量和冗余的問題可以用概率分布和相關函式來描述,例如,可以用熵 H 來度量影像的資訊量,
- 從線性系統的角度考慮,影像及其處理也可以表示為用狄拉克沖激公式表達的點展開函式的疊加,在使用這種方式對影像進行表示時,可以采用成熟的線性系統理論研究,
1.5、數字影像的表示
為了表述像素之間的相對和絕對位置,我們通常還需要對像素的位置進行坐標的約定,

在這之后,一幅物理圖就被轉換成了數字矩陣,從而成為計算機能夠處理的物件了,數字影像 f 的矩陣表示如下:
f
(
y
,
x
)
=
[
f
(
0
,
0
)
?
f
(
0
,
N
?
1
)
?
?
?
f
(
M
?
1
,
0
)
?
f
(
M
?
1
,
N
?
1
)
]
f(y, x)=\left[\begin{array}{cccc} f(0,0) & \cdots & f(0, N-1) \\ \vdots & \cdots & \vdots \\ f(M-1,0) & \cdots & f(M-1, N-1) \end{array}\right]
f(y,x)=????f(0,0)?f(M?1,0)?????f(0,N?1)?f(M?1,N?1)?????
也可以使用傳統的矩陣表示法來表示數字影像和像素,
其中行列(M 行 N 列)必須是正整數,而離散灰度級數目 L 一般為 2 的 k 次冪,k 為整數(因為使用二進制整數值來表示灰度值),影像的動態范圍為 [0,L-1],那么影像存盤所需的位元數為 b = M×N×k,
1.6、影像的空間和灰度級解析度
1.6.1、影像的空間解析度
影像的空間解析度是指影像中每單位長度所包含的像素或點的數目,常以**像素/英寸(ppi)**為單位來表示,如:72ppi 表示影像中每英寸包含 72 個像素或點,解析度越高,影像越清晰,影像檔案所需的磁盤空間也越大,編輯和處理所需的時間也越長,
像素越小,單位長度所包含的像素資料就越多,解析度也就越高,但同樣物理大小范圍內所對應影像的尺寸也會越大,存盤影像所需要的位元組數也越多,因而,在影像的放大縮小演算法中,放大就是對影像的過采樣,縮小就是對影像的欠采樣,
1.6.2、影像的灰度級/輻射計量解析度
在數字影像處理中,灰度級解析度又稱為色階,是指影像中可分辨的灰度級數目,即前面提到的灰度級數目 L,它與存盤灰度級別所使用的資料型別有關,由于灰度級度量的是投射到傳感器上的光輻射值的強度,所以灰度級解析度也叫輻射計量解析度,
隨著影像的灰度級解析度逐漸降低,影像中包含的顏色數目變少,從而在顏色的角度造成影像資訊受損,同樣使影像細節表達受到一定影響,

2、數字影像處理與識別
2.1、從影像處理到影像識別
2.1.1、數字影像處理
數字影像處理(Digital Image Processing)就是指使用電子計算機對量化的數字影像進行處理,具體地說就是通過影像進行各種加工來改善影像的外觀,是對影像的修改和增強,
影像處理的輸入是從傳感器或其他來源獲取的原始的數字影像,輸出的是經過處理后的輸出影像,處理的目的可能是使輸出的影像具有更好的效果,以便于人的觀察;也可能是為影像分析和識別做準備,此時的影像處理是作為一種預處理步驟,輸出的影像將進一步供其他影像分析、識別演算法使用,
2.1.2、數字影像分析
數字影像分析(Digital Image Analyzing)是指對影像中感興趣的目標進行檢測和測量,以獲得客觀的資訊,數字影像分析通常是指將一幅影像轉換為另一種非影像的抽象形式,如圖中某物體與測量者的距離以及目標物件的計數或其尺寸等,這一概念的外延包括邊緣檢測和影像分割、特征提取以及幾何測量與計數等,
影像分析的輸入是經過處理的數字影像,其輸出通常不再是數字影像,而是一系列與目標相關的影像特征(目標的描述),如目標的長度、顏色、曲率和個數等,
2.1.3、數字影像識別
數字影像識別(Digital Image Recognition)主要研究影像中各目標的性質和互相關系,識別出目標物件的類別,從而理解影像的含義,
影像識別是影像分析的延伸,它根據從影像分析中得到的相關描述(特性)對目標進行歸類,輸出我們感興趣的目標類別標號資訊(符號),
總的來說,從影像處理到影像分析再到影像識別這個程序,是一個將所含資訊抽象化,嘗試降低資訊熵,提煉有效資訊的程序,

2.2、數字影像處理與識別的應用實體
| 相關領域 | 典型應用 |
|---|---|
| 安全監控 | 指紋驗證,基于人臉識別的門禁系統 |
| 工業控制 | 產品無損檢測,商品自動分類 |
| 醫療保健 | X 光照片增強,CT,核磁共振,病灶自動檢測 |
| 生活娛樂 | 基于表情識別的笑臉自動檢測,汽車自動駕駛,手寫字符識別 |
2.3、數字影像處理與識別的基本步驟
- 影像的點運算通過灰度變換可有效改善影像的外觀,并在一定程度上實作影像的灰度歸一化,有很多基于影像點運算的處理方法,如影像拉伸、對比度增強、直方圖均衡以及直方圖匹配等,
- 影像的幾何變換主要應用在影像的幾何歸一化和影像校準當中,
- 影像增強,可理解為根據特定的需求突出一幅影像中的某些資訊,同時削榷訓去掉某些不需要的資訊的處理方法,其主要目的是使處理后的影像對某種特定的應用來說,比原始影像更適用,作為影像處理中一個相當主觀的領域,影像增強是以下多種影像處理方法的前提和基礎,也是在影像獲取后的先期步驟,
- 小波變換伴隨著人們對影像壓縮、邊緣和特征檢測以及紋理分析的需求的提高應運而生,傅里葉變換一直是頻率域影像處理的基石,它能用正弦函式之和表示任何分析函式,而小波變換則基于一些有限寬度的基小波,這些小波不僅在頻率上是變化的,而且具有有限的持續時間,
- 影像復原與影像增強類似,其目的是改善影像質量,但是影像復原是試圖利用退化程序的先驗知識使已被退化的影像恢復本來面目,而影像增強是用某種試探的方式改善影像質量,以適應人眼的視覺與心理,引起影像退化的因素包括由光學系統、運動等造成的影像模糊,以及源自電路和光學因素的噪聲等,影像復原是基于影像退化的數學模型,復原的方法也建立在比較嚴格的數學推導上,
- 彩色影像處理實際上從影像的型別分類,主要包括對全彩影像的處理,也包括灰度影像的偽彩色化,更復雜,
- 形態學影像處理是一種將數學形態學推廣應用于影像處理領域的新方法,是一種基于物體自然形態的影像處理分析方法,而形態學的概念最早起源于生物學,是一門生物學中研究動物和植物結構的一個分支科學,數學形態學(也稱為影像代數)則是一種以形態為基礎對影像進行分析的數學工具,其基本思想是用具有一定形態的結構元素去度量和提取影像中的對應形狀以達到對影像分析和識別的目的,影像形態學往往用于邊界提取、區域填充、連通分量的提取、凸殼、細化、像素化等影像操作,
- 影像分割是指將一幅影像分解為若干個互不交疊區域的程序,分割出來的區域需要同時滿足均勻性和連通性的條件,目標的表示與描述是指目標區域的像素或區域邊界的像素標出這一目標,并且對目標進行抽象描述,使計算機能充分利用所獲得的處理分割結果,
- 特征提取指的是進一步處理之前得到的影像區域和邊緣,使其成為一種更適合于計算機處理的形式,我們研究如何從影像中提取有用的資料或資訊,得到的影像的 “非影像” 的表示或描述,如數值、向量和符號等,這一程序就是特征提取,而提取出來的這些 “非影像” 的表示或描述就是特征,有了這些數值或向量形式特征我們就可以通過訓練程序教會計算機如何懂得這些特征,從而使計算機具有了識別影像的本領,常用的影像特征有:紋理特征、形狀特征、空間關系特征等,
- 物件識別一般是指利用前一步從數字影像中提取的特征向量進行分類和理解的程序,這涉及計算機技術、模式識別、人工智能等多方面的知識,這一步驟建立在前面諸多步驟之上,用以向上層控制演算法提供最終所需的資料或直接報告識別結果,事實上,物件識別已經上升到機器視覺的層面了,
3、數字影像處理的預備知識
3.1、鄰接性、連通性、區域和邊界
相鄰像素的概念,依據標準的不同,我們關注像素 P 的 4 鄰域和 8 鄰域:

3.1.1、鄰接性
定義 V 是用于決定鄰接性的灰度值集合,它是一種相似性的度量,用于確定所需判斷鄰接性的像素之間的相似程度,
例如在二值影像中,如果我們認為只有灰度值為 1 的像素是相似的,則即 V = {1},當然相似性的規定具有主觀標準,因此也可以認為 V = {0,1},此時鄰接性完全由位置決定;而對于灰度影像,這個集合中則很可能包含更多的元素,此外,定義對角鄰接域 ND§ 為 8-鄰域中不屬于 4-鄰域的部分,那么:
-
4 鄰接:如果
Q ∈ N 4 ( P ) Q \in N_{4}(P) Q∈N4?(P)
則稱具有 V 中數值的兩個像素 P 和 Q 是4 鄰接的, -
8 鄰接:如果
Q ∈ N 8 ( P ) Q \in N_{8}(P) Q∈N8?(P)
則稱具有 V 中數值的兩個像素 P 和 Q 是 8 鄰接的,
舉例來說,下圖分別是像素和 Q、Q1、Q2 的 4 鄰接和 8 鄰接示意圖,而對于兩個影像子集 S1 和 S2,如果 S1 中的某些像素和 S2 中的某些像素相鄰,則稱這兩個子集是鄰接的,

3.1.2、連通性
像素的通路 像素 P 到像素 Q 的通路(Path) 指的是一個特定的像素序列 (x0,y0),(x1,y1),…,(xn,yn),其中 (x0,y0) = (xp,yp),(xn,yn) = (xq,yq),并且像素 (xi,yi) 和 (xi-1,yi-1) 在滿足 1<= i <= n 時是鄰接的,通過上面的定義,n 是通路的長度,若 (x0,y0) = (xn,yn),則稱這條通路是閉合通路,
像素的連通性 令 S 代表一幅影像中的像素子集,如果在 S 中全部像素之間存在一個通路,則可以稱兩個像素 P 和 Q 在 S 中是連通的,此外,對于 S 中的任何像素 P,S 中連通到該像素的像素集叫做 S 的連通分量,如果 S 中僅有一個連通分量,則集合 S 叫做連通集,
3.1.3、區域和邊界
**區域(Region)**的定義是建立在連通集的基礎上的,
區域 如果 R 同時是連通集,則稱 R 為一個區域(Region),
**邊界(Boundary)**的概念是相對于區域而言的,
邊界 一個區域的邊界(或邊緣、輪廓)是區域中所有有一個或多個不在區域 R 中的鄰接像素的像素所組成的集合,
顯然,如果區域 R 是整幅影像,那么邊界就由影像的首行、首列、末行和末列定義,通常情況下,區域指的是一幅影像的子集,并包括區域的邊緣,而區域的邊緣(Edge)由具有某些導數值的像素組成,是一個像素及其直接鄰域的區域性質,是一個有大小和方向屬性的矢量,
邊界和邊緣是不同的,邊界是和區域有關的矢量,而邊緣表示的影像函式的區域性質,
3.2、距離度量的幾種方法
假設對于像素 P(xp,yp),Q(xq,yq),R(xr,yr) 而言,有函式 D 滿足如下 3 個條件,則函式 D 可被稱為距離函式或度量,
- D(P,Q) >= 0,當且僅當 P = Q 時有 D(P,Q) = 0;
- D(P,Q) = D(Q,P);
- D(P,Q) <= D(P,R) + D(R,Q),
常見的幾種距離函式如下:
- 歐式距離
D e ( P , Q ) = ( x p ? x p ) 2 + ( y p ? y p ) 2 D_{e}(P, Q)=\sqrt{\left(x_{p}-x_{p}\right)^{2}+\left(y_{p}-y_{p}\right)^{2}} De?(P,Q)=(xp??xp?)2+(yp??yp?)2 ?
? 即距離等于 r 的像素形成以 P 為圓心的圓,
-
D4 距離(街區距離)
D 4 ( P , Q ) = ∣ x p ? x q ∣ + ∣ y p ? y q ∣ D_{4}(P, Q)=\left|x_{p}-x_{q}\right|+\left|y_{p}-y_{q}\right| D4?(P,Q)=∣xp??xq?∣+∣yp??yq?∣
即距離等于 r 的像素形成以 P 為中心的菱形, -
D8 距離(棋盤距離)
D 8 ( P , Q ) = max ? ( ∣ x p ? x q ∣ + ∣ y p ? x q ∣ ) D_{8}(P, Q)=\max \left(\left|x_{p}-x_{q}\right|+\left|y_{p}-x_{q}\right|\right) D8?(P,Q)=max(∣xp??xq?∣+∣yp??xq?∣)
即距離等于 r 的像素形成以 P 為中心的方形,
3.3、基本的影像操作
按照處理影像的數量分類,可以分為對單幅影像操作(如濾波)和對多幅影像的操作(如求和、求差和邏輯運算等);按照參與操作的像素范圍的不同,可以分為點運算和鄰域運算;而根據操作的數學性質,又可分為線性操作和非線性操作,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/118786.html
標籤:其他
下一篇:計算機網路基礎
