光學字符識別OCR-2
灰度聚類
接著我們就對圖像的色彩進行聚類。聚類的有兩個事實依據:
1.灰度分辨率 肉眼的灰度分辨率大概為40,因此對於像素值254和255,在我們肉眼看來都 只是白色;
2.設計原則 根據我們一般的審美原則,在考慮海報設計、服裝搭配等搭配的時候,一般要 求在服裝、海報等顏色搭配不超過三種顏色。
更通俗地說,雖然灰度圖片色階範圍是[0, 255],但我們能感覺到的整體的色調一般不多,因此,可以將相近的色階歸為一類,從而減少顏色分布,有效地降低噪音。
事實上,聚類是根據圖像的特點自適應地進行多值化的過程,避免了傳統的簡單二值化所帶來 的信息損失
核密度估計 經過預處理的圖像,我們可以對每個色階的出現次數進行統計,根據色戒,得到如圖5的頻率分布直方圖:
可以看到,色階的分布形成了幾個比較突出的峰,換言之,存在一定的聚類趨勢。 然而,直方 圖的統計結果是不連續的,一個平滑的結果更便於我們分析研究,結果也更有說服力。 將統計 結果平滑化的方法,就是核密度估計(kernel density estimation)。
核密度估計方法是一種非參數估計方法,由Rosenblatt和Parzen提出,在統計學理論和應用領 域均受到高度的重視[2]。 當然,也可以簡單地將它看成一種函數平滑方式。 我們根據大量的數據 來估計某個值出現的概率(密度)時,事實上做的是如下估算:
其中K(x)稱為核函數。 當 取為1,且K(x)取
時,就是我們上述的直方圖估計。 K(x)這一項的含義很簡單,它就是告訴我們在範圍h內的都算入到x中去,至於怎麽算,由給出。可見,h的選擇對結果的影響很大,h我們稱之為帶寬(bandwidth),它主要影響結果的平滑性。 如果K(x)是離散的,得到的結果還是離散的,但如果K(x)是光滑的,得到的結果也是比較光滑的。一個常用的光滑函數核是高斯核:
所得到的估計也叫高斯核密度估計。 在這裏,我們使用scott規則自適應地選取 ,但需要手動指定一個平滑因子,在本文中,我們選取為0。2。對於示例圖片,我們得到如圖6的紅色曲線的結果。
極大極小值分割
從圖6中我們進一步可以看出,圖像確實存在著聚類趨勢。 這表現為它有幾個明顯的極大值和極 小值點,這裏的極大值點位於x = 10, 57, 97, 123, 154,極小值點位於25, 71, 121, 142。
因此,一個很自然的聚類方法是:有多少個極大值點,就聚為多少類,並且以極小值點作為類 別之間的邊界。 也就是說,對於圖3,可以將圖像分層5層,逐層處理。 分層之後,每一層的形狀 如下圖,其中白色是1,黑色是0。
通過聚類將圖像分為5個圖層
可見,由於“對比度”和“漸變性”假設,通過聚類確實可以將文字圖層通過核密度估計的聚類方 法分離開來。 而且,通過聚類分層的思路,無需對文字顏色作任何假定,即便是文字顏色跟背 景顏色一致時,也可以獲得有效檢測。
逐層識別
當圖像有效地進行分層後,我們就可以根據前面的假設,進一步設計相應的模型,通過逐層處 理的方式找出圖像中的文字區域。
光學字符識別OCR-2