引言
所謂數(shù)字分割就是指將經(jīng)過二值化后的圖像中的單個(gè)數(shù)字區(qū)域進(jìn)行提取的過程啡氢。數(shù)字分割在數(shù)字識(shí)別中是一個(gè)必不可少的關(guān)鍵步驟,只有能夠?qū)?shù)字進(jìn)行準(zhǔn)確的提取术裸,才能將其一一識(shí)別倘是。
數(shù)字分割的方法
數(shù)字分割的方法相當(dāng)多,主要有以下幾種:
基于直方圖的分割
此類方法就是對(duì)每行和每列黑色像素?cái)?shù)進(jìn)行統(tǒng)計(jì)袭艺,生成行直方圖和列直方圖搀崭,并采用某種閾值選取法分別對(duì)圖像進(jìn)行行列分割。
這種方法簡單快速猾编,對(duì)于按矩陣分布的規(guī)則數(shù)字的分割效果相當(dāng)好瘤睹,但是無法對(duì)不規(guī)則分布的數(shù)字進(jìn)行分割,因此具有一定的局限性答倡。
基于聚類的分割
聚類就是一個(gè)將數(shù)據(jù)集劃分為若干組或類的過程轰传,通過聚類使得同一組內(nèi)的數(shù)據(jù)對(duì)象具有較高的相似度,而不同組中的數(shù)據(jù)對(duì)象則是不相似的瘪撇,由于數(shù)字圖像的特征正好符合這類情況获茬,因而可以使用聚類來達(dá)到分割數(shù)字的效果。
其方法主要包括基于距離矩陣的聚類分割倔既、k-均值聚類分割恕曲、模糊C-均值聚類分割
此類分割方法對(duì)數(shù)字的位置和大小沒有限制,非常適合對(duì)位置和大小不規(guī)則的數(shù)字進(jìn)行渤涌,但這種方法也有明顯的不足佩谣,其中基于距離矩陣的聚類分割的計(jì)算量太大,尤其是對(duì)較大的圖像实蓬,而且矩陣的占用空間相當(dāng)多茸俭,因此在實(shí)際中無法使用。
而k-均值聚類分割安皱、模糊C-均值聚類分割這些動(dòng)態(tài)聚類雖然解決了這些問題调鬓,但是他們對(duì)于初始中心的選取極為敏感,雖然已經(jīng)有各種對(duì)于中心選取得優(yōu)化算法练俐,但是其分類個(gè)數(shù)必須人為指定之一限制袖迎,最終使此類算法無法應(yīng)用到實(shí)際的數(shù)字分割中冕臭。
基于二值圖像連通區(qū)域標(biāo)記的分割
二值圖像連通區(qū)域標(biāo)記是指將圖像中符合某種連通規(guī)則的目標(biāo)像素點(diǎn)用相同的標(biāo)號(hào)表示出來腺晾。
因此這種方法非常適用于數(shù)字分割,因?yàn)槊總€(gè)數(shù)字本身就是一個(gè)連通區(qū)域辜贵,而且這種方法不受分類數(shù)的限制悯蝉,也適用于不規(guī)則分布的數(shù)字圖像,實(shí)現(xiàn)簡單快速托慨,是一種相當(dāng)好的分割方法鼻由。
而本文采用這種方法進(jìn)行圖像數(shù)字區(qū)域的分割,并對(duì)其進(jìn)行了適當(dāng)?shù)母倪M(jìn)。
到目前為止蕉世,二值圖像連通區(qū)域標(biāo)記方法主要有以下幾類:
- 兩次掃描法
第一次掃描時(shí), 將臨時(shí)標(biāo)號(hào)存儲(chǔ)在一個(gè)與圖像大小一樣的二維數(shù)組中并形成等價(jià)對(duì)蔼紧。
掃描結(jié)束時(shí),通過某種搜索方法合并等價(jià)標(biāo)號(hào); 第二次掃描時(shí), 用等價(jià)標(biāo)號(hào)中最小的標(biāo)號(hào)值賦予所有等價(jià)標(biāo)號(hào)對(duì)應(yīng)的像素點(diǎn)。
- 雙向反復(fù)掃描法:
第一次掃描時(shí), 將每個(gè)目標(biāo)像素點(diǎn)標(biāo)記為一個(gè)唯一的標(biāo)號(hào)狠轻。
然后, 通過正向和反向反復(fù)掃描標(biāo)號(hào)圖像, 并在每個(gè)像素的鄰域內(nèi)傳播最小標(biāo)號(hào), 直到?jīng)]有標(biāo)號(hào)變化時(shí)為止奸例。
- 區(qū)域增長法
依次掃描二值圖像的每一個(gè)像素點(diǎn)。當(dāng)找到某個(gè)未標(biāo)記的目標(biāo)像素點(diǎn)時(shí), 將其壓入堆棧并從該點(diǎn)開始反復(fù)標(biāo)記其鄰域, 直到堆棧為空向楼。
考慮到數(shù)字分割僅僅是數(shù)字識(shí)別的一小步查吊,如果在此處耗費(fèi)太多的時(shí)間是相當(dāng)能夠不值得的,因此我采用速度相對(duì)較快的兩次掃描法進(jìn)行分割湖蜕。
而在兩次掃描法中逻卖,合并等價(jià)標(biāo)號(hào)是相當(dāng)關(guān)鍵的一步,因此如何提高其合并速度是相當(dāng)重要的昭抒,因此我主要采用如下改進(jìn)的區(qū)域標(biāo)記方法:
1. 構(gòu)造一散列表评也,以標(biāo)號(hào)作為關(guān)鍵字進(jìn)行散列,說白了就是一數(shù)組戈鲁。每個(gè)元素指向一個(gè)雙向鏈表仇参,在鏈表中存儲(chǔ)同一類別的像素點(diǎn)坐標(biāo)。
2. 構(gòu)造一個(gè)與圖像同樣大小的標(biāo)記矩陣婆殿,用于存儲(chǔ)每個(gè)像素的分類標(biāo)號(hào)
3. 初始化標(biāo)記矩陣诈乒,并對(duì)圖像第一行和第一列中的黑色像素進(jìn)行標(biāo)記,標(biāo)記依次遞增婆芦,并將相應(yīng)的像素點(diǎn)位置保存到對(duì)應(yīng)標(biāo)記的散列表中怕磨。
4. 依次遍歷其它各行各列,若當(dāng)前像素點(diǎn)為黑色消约,則將其左前肠鲫、左上角、正上或粮、右上角這四個(gè)鄰點(diǎn)中為黑色的像素的最小標(biāo)記賦給當(dāng)前點(diǎn)导饲,并將這四點(diǎn)中為黑色的像素點(diǎn)歸并到最小標(biāo)記中,具體歸并方法為:將四點(diǎn)中為黑色的像素點(diǎn)的原標(biāo)記在散列表中所指向的像素鏈表與最小標(biāo)記所在鏈表進(jìn)行合并氯材,并更新標(biāo)記值渣锦。若其四個(gè)鄰點(diǎn)中沒有黑色像素點(diǎn),那么當(dāng)前點(diǎn)屬于新類氢哮,創(chuàng)建一個(gè)新的標(biāo)記值及相應(yīng)的鏈表袋毙。
5. 若當(dāng)前像素點(diǎn)為白色,則標(biāo)為無效標(biāo)記冗尤,繼續(xù)第(4)步听盖。
過濾無效區(qū)域
由于圖像或多或少會(huì)存在些許噪聲胀溺、無效塊,通常在分割前需要做一些去噪皆看、過濾非數(shù)字區(qū)域等工作仓坞,才能達(dá)到良好的分割效果。
考慮到數(shù)字本身具有細(xì)長等特點(diǎn)腰吟,因此不太適合中值濾波這些去椒鹽噪聲的算法扯躺。
在這我采用最簡單的離散去噪,僅僅取出一些離散噪聲點(diǎn)蝎困,對(duì)于其它大塊的無效區(qū)域录语,我通過統(tǒng)計(jì)分類樣本的平均高度和寬度,設(shè)定合適的閾值進(jìn)行過濾禾乘,并對(duì)明顯高寬比不符合數(shù)字特征的區(qū)域也一一進(jìn)行過濾澎埠。
從實(shí)驗(yàn)結(jié)果中可以看到,這樣的效果還是相當(dāng)好的始藕。
實(shí)驗(yàn)結(jié)果
但是可以看到蒲稳,由于是按行進(jìn)行標(biāo)記,因此標(biāo)記好的順序?qū)颖緟^(qū)域的高度相當(dāng)敏感伍派,高低稍有不同江耀,分割后就會(huì)打亂其原始的順序(尤其是針對(duì)那些原本排列較為規(guī)則的圖像),若要按順序分割诉植,必須在處理后期祥国,進(jìn)行額外的排序操作才行,其具體步驟為:
- 將原先按標(biāo)記散列的分類圖像晾腔,轉(zhuǎn)化為按區(qū)域圖像中心的矩陣散列舌稀,此時(shí)生成的矩陣為稀疏矩陣,只有位于區(qū)域中心的點(diǎn)指向所對(duì)應(yīng)的數(shù)字圖像
- 按一定的閾值把矩陣按行切分灼擂,由于矩陣中的點(diǎn)角為稀疏壁查,因此閾值較為好取,分割效果也較好剔应,不需要過多的進(jìn)行優(yōu)化睡腿,就能達(dá)到很好的效果。
- 對(duì)每行的區(qū)域圖像按中心位置的橫坐標(biāo)值進(jìn)行排序峻贮,即可恢復(fù)原先的數(shù)字分布席怪。其效果如下:
而且,區(qū)域標(biāo)記的一大優(yōu)點(diǎn)就是對(duì)數(shù)字分布極為不規(guī)則的圖像的處理效果也是相當(dāng)好的月洛,可以很好的解決數(shù)字纏繞在一起何恶,難以分割的問題孽锥,其效果如下:
總結(jié)
雖然使用區(qū)域標(biāo)記法進(jìn)行分割的效果已經(jīng)相當(dāng)令人滿意嚼黔,但是還是存在一些不足的地方细层,比如說只能對(duì)具有良好連通性的數(shù)字進(jìn)行分割,而對(duì)于那些具有斷層的數(shù)字就無法實(shí)現(xiàn)較好的分割唬涧,為此疫赎,在分割前需要進(jìn)行額外的斷層修復(fù),而斷層修復(fù)的過程較為復(fù)雜碎节,且修復(fù)效果有限捧搞。
因此,要實(shí)現(xiàn)具有高度通用性的數(shù)字分割算法狮荔,還有待進(jìn)一步研究胎撇。
參考文獻(xiàn)
如果想要了解更多數(shù)字圖像處理相關(guān)的內(nèi)容,可以去我的書柜看看殖氏,岡薩雷斯寫的那本書數(shù)字圖像處理還是非常經(jīng)典的晚树。。
個(gè)人主頁:TBOOX開源工程
原文出處:http://www.tboox.org/cn/2016/07/30/hnr-extract-digital/