第三章 研究方法
第一節 前處理
3.1.1 名片定位與校正
相機取像時和掃瞄機取像不同,在名片本體以外,還會拍攝到外圍環境的
景物,且有透視扭曲的變形狀況。名片定位的目的在於擷取出名片邊界供投影
校正使用。由於一般名片形狀為直角矩形,找出的名片四邊形範圍可使用幾何
轉換使影像變形,將四邊形範圍投影成直角矩形,校正透視扭曲,如圖 4。
圖 4、理想的投影校正
本研究使用 Saliency Map[19]和 Canny[8]邊緣偵測標定在人類視覺上顯著區
域的邊緣,再使用 Hough transform 分別找出名片之上、下,左、右邊界。
由於人類視覺上有兩個特性:
1. 人眼對灰度變化的感覺比對色調變化的感覺來得敏銳
2. 人眼對於黑暗中的細節比對明亮中的細節還要更敏感
因此以一般在彩色影像,例如圖 5(a),轉灰階圖 5(b)再尋找邊緣的方式,
和真正人眼所感知的視覺邊緣有落差,Saliency Map 即是將影像上視覺較顯著
部份標記為較亮部份的一種圖片表示法,如圖 6。
(a)原始影像 (b) 灰階影像
圖 5、彩色轉灰階示意圖
圖 6、Saliency map 示意圖
Saliency Map 使用兩種遮罩來模擬人類視覺,兩種遮罩以 sliding window 法 分別在影像上掃描移動。本研究使用 Montabone 和 Soto[20]的實作版本,此版
本使用積分影像(integral image)加速計算。為更加速計算效率,將原始圖像
縮小成 320*240 pixels 再作 Saliency Map 運算。
將得到的 Saliency Map 再作 Canny 邊緣偵測,則得到留下邊緣資訊的二值化 影像,由圖 7 中可觀察到,在名片的四個邊聚集較多 Canny 偵測到的邊緣。
圖 7、Canny 邊緣偵測應用於 Saliency map 之結果
Hough transform 在偵測直線時具有斷線偵測的強健性,因此即使 Canny 邊緣 影像的邊線沒有完全偵測到,還是可以選出名片最外範圍的四個邊。
為了減少計算量,僅在影像之局部作直線偵測,見圖 8。h 為影像高度, w 為影像寬度。高度 y0到 ya之間,寬度為 w 之矩形為上邊界偵測範圍;Yb到 Yh之 間,寬度為 w 之矩形,為下邊界偵測範圍;寬度 x0到 xa,高度為 h 之矩形為左 邊界偵測範圍;xb到 xw,高度為 h 之矩形為右邊界偵測範圍,分別在這四個矩形 範圍內以 Hough transform 尋找最長的直線。在本研究中,xa為 0.25*w,xb為 0.75*w,ya為 0.3*h,Yb為 0.7*h。
圖 8、影像局部直線偵測範圍
選出四條對應於名片四邊形範圍的直線後(圖 9),直線兩兩相交的點定義為
xi,yi ,i 1,2,3,4 ,四點分別稱為點 A, B, C, D。
圖 9、以 Hough transform 尋找上、下、左、右四個長邊
(x
3, y
3) (x
4, y
4)
A B
C D
(x
1, y
1) (x
2, y
2)
y
ax
ax
b(x
0, y
0)
y
b(x
w, y
h)
當 A, B, C, D 四點都計算出來後,由於名片的預期形狀是長方形,利用仿射 轉換將 A, B, C, D 四點對應到圖 9 的 A’, B’, C’, D’ 四點。
圖 10、仿射轉換後的名片邊界
xi,yi ,i 1,2,3,4 分別對應到xi,yi,i 1,2,3,4 ,由於邊 AB 實際上應為
水平線且長度跟邊 DC 相等,故在邊 AB 和邊 DC 中選取一個長度最長的邊作
為邊 A’B’的長度,相同地,邊 AD 實際上也應和邊 BC 長度相等且為垂直線,
為保留最多資訊,選取邊 AD 和邊 BC 中最長的邊作為邊 A’D’的長度,見圖 10
只要將原始影像的空間 I0透過仿射轉換矩陣 H 來得到我們預期的影像空間
It,即可將四邊形名片校正成矩形,轉換方法如下:
H I
It 0 (1)
根據 Hartley 等[21]在轉換參數 H 上的討論,計算矩陣 H 的公式如下:
R P
H 1 (2)
其中 H 是仿射轉換矩陣,R 是影像四個參考點的對應座標,P 是輸入參數
座標點矩陣,這三個矩陣定義如下: