本公開涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種字符切割方法、字符切割裝置、實(shí)現(xiàn)該字符切割方法的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和電子設(shè)備。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,針對(duì)文本或圖片(如證件照片)等的字符(如身份證號(hào)碼)識(shí)別技術(shù)在日常生活中的應(yīng)用越來(lái)越廣泛。然而通常圖片中既有待識(shí)別的目標(biāo)字符,也會(huì)有一些噪點(diǎn),即非目標(biāo)字符。因此在進(jìn)行字符識(shí)別時(shí),需要排除如圖片中的噪點(diǎn)。
相關(guān)技術(shù)中,為了有效去除噪點(diǎn),提高識(shí)別的準(zhǔn)確率。在字符識(shí)別之前,會(huì)對(duì)圖片進(jìn)行去噪切割處理以去除圖片中的噪點(diǎn),并將需要識(shí)別的目標(biāo)字符按照單個(gè)字符進(jìn)行切割分成多個(gè)圖片,之后進(jìn)行單個(gè)目標(biāo)字符的識(shí)別。其中,目前的去噪切割算法一般是通過(guò)投影的方式來(lái)實(shí)現(xiàn),這對(duì)于規(guī)范、噪點(diǎn)少的圖片是基本可以滿足的。但是當(dāng)圖片中的噪點(diǎn)較多且變得個(gè)性化、噪點(diǎn)形狀與目標(biāo)字符相似、字符傾斜等復(fù)雜情況下,目前的方法對(duì)于目標(biāo)字符的識(shí)別效率和準(zhǔn)確率就會(huì)非常低,難以滿足更多復(fù)雜的業(yè)務(wù)場(chǎng)景。
因此,有必要提供一種新的技術(shù)方案改善上述方案中存在的一個(gè)或者多個(gè)問(wèn)題。
需要說(shuō)明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本公開的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)要素:
本公開的目的在于提供一種字符切割方法、字符切割裝置、實(shí)現(xiàn)該字符切割方法的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和電子設(shè)備,進(jìn)而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的一個(gè)或者多個(gè)問(wèn)題。
本公開的其他特性和優(yōu)點(diǎn)將通過(guò)下面的詳細(xì)描述變得顯然,或部分地通過(guò)本公開的實(shí)踐而習(xí)得。
根據(jù)本公開實(shí)施例的第一方面,提供一種字符切割方法,所述方法包括:
獲取一包含n個(gè)字符的圖片,計(jì)算每個(gè)所述字符在所述圖片中的位置信息;
基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符;其中n為大于等于2的整數(shù),m為小于等于n的整數(shù);
根據(jù)所述m個(gè)目標(biāo)字符對(duì)應(yīng)的所述位置信息,對(duì)所述圖片進(jìn)行切割得到所述m個(gè)目標(biāo)字符分別對(duì)應(yīng)的單個(gè)字符。
本公開的一種示例性實(shí)施例中,所述預(yù)設(shè)參數(shù)用于表征所述選取框的尺寸大小,且與所述目標(biāo)字符的尺寸相關(guān);
所述基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符包括:
將所述n個(gè)字符中同時(shí)滿足所述選取框的尺寸大小和預(yù)設(shè)字符間距條件的字符確定為所述m個(gè)目標(biāo)字符;其中,所述預(yù)設(shè)字符間距為相鄰兩個(gè)目標(biāo)字符中心點(diǎn)之間的水平距離。
本公開的一種示例性實(shí)施例中,所述預(yù)設(shè)參數(shù)包括參考寬度和參考高度,所述參考寬度為所述目標(biāo)字符的高度與寬度的比值,所述參考高度為基于所述m個(gè)目標(biāo)字符的高度得到的眾數(shù);
所述將所述n個(gè)字符中同時(shí)滿足所述選取框的尺寸大小和預(yù)設(shè)字符間距條件的字符確定為所述m個(gè)目標(biāo)字符包括:
將所述選取框移動(dòng)至所述圖片中所述n個(gè)字符中的第一字符處,若所述第一字符位于所述選取框內(nèi),則確定該第一字符為第一目標(biāo)字符;
將所述選取框從所述第一目標(biāo)字符處依次移動(dòng)所述預(yù)設(shè)字符間距到第二至第n字符處,若所述第二至第n字符均位于所述選取框內(nèi),則確定該第二至第n字符為第二至第m目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述方法還包括:
若所述第一字符的至少部分位于所述選取框外,則將所述選取框移動(dòng)所述預(yù)設(shè)字符間距到所述第二字符處;
判斷所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符;若否則將所述選取框從所述第二字符處移動(dòng)到第三字符處重新判斷確定第一目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述方法還包括:
若所述第二字符的至少部分位于所述選取框外,則在所述所述第二字符處將所述選取框沿上下左右任意一個(gè)方向平移預(yù)設(shè)距離;
判斷平移后所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述方法還包括:
將所述選取框從平移后的位置移動(dòng)所述預(yù)設(shè)字符間距到與所述第二字符相鄰的所述第三字符處;
判斷平移后所述第三字符是否位于所述選取框內(nèi),若是則確定該第三字符為所述第二目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述方法還包括:
當(dāng)確定的目標(biāo)字符的數(shù)量p超過(guò)m個(gè)時(shí),從第p目標(biāo)字符至第一目標(biāo)字符中依次選取m個(gè)作為最終的目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述計(jì)算每個(gè)所述字符在所述圖片中的位置信息包括:
對(duì)所述圖片進(jìn)行二值化處理后,掃描所述圖片獲取一個(gè)所述字符的第一黑色像素點(diǎn)并在一數(shù)組中記錄該第一黑色像素點(diǎn)的坐標(biāo);
判斷所述第一黑色像素點(diǎn)周圍緊鄰的多個(gè)第二像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第二黑色像素點(diǎn)的坐標(biāo);
判斷該多個(gè)第二黑色像素點(diǎn)各自周圍緊鄰的多個(gè)第三像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第三黑色像素點(diǎn)的坐標(biāo),依此循環(huán)判斷記錄直至沒(méi)有新的黑色像素點(diǎn)出現(xiàn);
將歸屬于一個(gè)所述字符的所述數(shù)組作為所述位置信息。
本公開的一種示例性實(shí)施例中,所述在所述數(shù)組中記錄該多個(gè)第三黑色像素點(diǎn)的坐標(biāo)包括:
記錄該多個(gè)第三黑色像素點(diǎn)時(shí),對(duì)于已經(jīng)記錄了坐標(biāo)的黑色像素點(diǎn)不再記錄坐標(biāo)。
根據(jù)本公開實(shí)施例的第二方面,提供一種字符切割裝置,所述裝置包括:
字符位置計(jì)算模塊,用于獲取一包含n個(gè)字符的圖片,計(jì)算每個(gè)所述字符在所述圖片中的位置信息;
目標(biāo)字符確定模塊,用于基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符;其中n為大于等于2的整數(shù),m為小于等于n的整數(shù);以及
目標(biāo)字符切割模塊,用于根據(jù)所述m個(gè)目標(biāo)字符對(duì)應(yīng)的所述位置信息,對(duì)所述圖片進(jìn)行切割得到所述m個(gè)目標(biāo)字符分別對(duì)應(yīng)的單個(gè)字符。
根據(jù)本公開實(shí)施例的第三方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任意一個(gè)實(shí)施例中所述字符切割方法的步驟。
根據(jù)本公開實(shí)施例的第四方面,提供一種電子設(shè)備,包括:
處理器;以及
存儲(chǔ)器,用于存儲(chǔ)所述處理器的可執(zhí)行指令;
其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來(lái)執(zhí)行上述任意一個(gè)實(shí)施例中所述字符切割方法的步驟。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
本公開的一種實(shí)施例中,通過(guò)上述字符切割方法及裝置,可以直接通過(guò)與目標(biāo)字符匹配的選取框來(lái)直接確定目標(biāo)字符,再根據(jù)目標(biāo)字符的位置信息直接進(jìn)行切割。這樣,一方面,相比于相關(guān)技術(shù)中先識(shí)別噪點(diǎn)再去燥,然后切割目標(biāo)字符的方法,可以提高目標(biāo)字符的識(shí)別效率和準(zhǔn)確率;另一方面,隨著目標(biāo)字符的識(shí)別效率和準(zhǔn)確率的提高,可以滿足更多復(fù)雜的業(yè)務(wù)場(chǎng)景中的目標(biāo)字符識(shí)別要求。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書中并構(gòu)成本說(shuō)明書的一部分,示出了符合本公開的實(shí)施例,并與說(shuō)明書一起用于解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示意性示出本公開示例性實(shí)施例中字符切割方法流程圖;
圖2示意性示出本公開示例性實(shí)施例中身份證圖片示意圖;
圖3示意性示出本公開示例性實(shí)施例中字符位置計(jì)算方法流程圖;
圖4示意性示出本公開示例性實(shí)施例中身份證圖片與坐標(biāo)軸位置示意圖;
圖5示意性示出本公開示例性實(shí)施例中字符像素點(diǎn)掃描示意圖;
圖6示意性示出本公開示例性實(shí)施例中字符有效像素點(diǎn)尋找示意圖;
圖7示意性示出本公開示例性實(shí)施例中目標(biāo)字符示意圖;
圖8示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖一;
圖9示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖二;
圖10示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖三;
圖11示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖四;
圖12示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖五;
圖13示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖六;
圖14示意性示出本公開示例性實(shí)施例中目標(biāo)字符確定示意圖六;
圖15示意性示出本公開示例性實(shí)施例中一種字符切割裝置示意圖;
圖16示意性示出本公開示例性實(shí)施例中另一字符切割裝置示意圖。
具體實(shí)施方式
現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本公開將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。
此外,附圖僅為本公開的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對(duì)它們的重復(fù)描述。附圖中所示的一些方框圖是功能實(shí)體,不一定必須與物理或邏輯上獨(dú)立的實(shí)體相對(duì)應(yīng)??梢圆捎密浖问絹?lái)實(shí)現(xiàn)這些功能實(shí)體,或在一個(gè)或多個(gè)硬件模塊或集成電路中實(shí)現(xiàn)這些功能實(shí)體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實(shí)現(xiàn)這些功能實(shí)體。
本示例實(shí)施方式中首先提供了一種字符切割方法,該方法可以應(yīng)用于一計(jì)算機(jī)設(shè)備,例如可以是個(gè)人計(jì)算機(jī)、服務(wù)器等等。參考圖1中所示,該方法可以包括以下步驟:
步驟s101:獲取一包含n個(gè)字符的圖片,計(jì)算每個(gè)所述字符在所述圖片中的位置信息。
步驟s102:基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符;其中n為大于等于2的整數(shù),m為小于等于n的整數(shù)。
步驟s103:根據(jù)所述m個(gè)目標(biāo)字符對(duì)應(yīng)的所述位置信息,對(duì)所述圖片進(jìn)行切割得到所述m個(gè)目標(biāo)字符分別對(duì)應(yīng)的單個(gè)字符。
通過(guò)上述字符切割方法,一方面,相比于相關(guān)技術(shù)中先識(shí)別噪點(diǎn)再去燥,然后切割目標(biāo)字符的方法,可以提高目標(biāo)字符的識(shí)別效率和準(zhǔn)確率;另一方面,隨著目標(biāo)字符的識(shí)別效率和準(zhǔn)確率的提高,可以滿足更多復(fù)雜的業(yè)務(wù)場(chǎng)景中的目標(biāo)字符識(shí)別要求。
下面,將參考圖1至圖14對(duì)本示例實(shí)施方式中的上述方法的各個(gè)步驟進(jìn)行更詳細(xì)的說(shuō)明。
在步驟s101中,獲取一包含n個(gè)字符的圖片,計(jì)算每個(gè)所述字符在所述圖片中的位置信息。
本示例實(shí)施方式中,所述字符可以是阿拉伯?dāng)?shù)字、中文文字或者英文字母等等。所述圖片可以是包含待識(shí)別字符的圖片,例如可以是鈔票、發(fā)票、保險(xiǎn)票據(jù)等各種票據(jù)的圖片,或者具有身份信息(如身份證號(hào))的證件圖片,如身份證、護(hù)照等圖片,也可以是獲取的如包含文字的網(wǎng)頁(yè)圖片或者書本內(nèi)容圖片等等。
參考圖2中所示,本示例實(shí)施方式中以身份證圖片中的身份證號(hào)即目標(biāo)字符識(shí)別為例進(jìn)行說(shuō)明。示例性的,圖2僅示出了身份證圖片的局部,該局部圖片包括目標(biāo)字符即身份證號(hào)碼(632127198704191134)和噪點(diǎn)(如漢字“份號(hào)碼”以及圖2中形似1的豎線)。
參考圖3中所示,步驟s101中所述計(jì)算每個(gè)所述字符在所述圖片中的位置信息可以包括以下步驟:
步驟s301:對(duì)所述圖片進(jìn)行二值化處理后,掃描所述圖片獲取一個(gè)所述字符的第一黑色像素點(diǎn)并在一數(shù)組中記錄該第一黑色像素點(diǎn)的坐標(biāo)。
示例性的,身份證圖片一般為彩色,二值化處理后變?yōu)槿鐖D2所示的黑白色,之后就可以對(duì)該圖片進(jìn)行掃描。如圖4所示,可以將圖片放在二維坐標(biāo)系中,圖片的左下角與坐標(biāo)原點(diǎn)重合,x軸與y軸以像素為單位。以圖5所示的單個(gè)字符“1”的情形為例,y=0開始逐行掃描,直至y=y(tǒng)0,遇到第一黑色像素點(diǎn),即圖5中最左下角的一個(gè)黑色像素點(diǎn)。將該第一黑色像素點(diǎn)記為有效點(diǎn),并將該第一黑色像素點(diǎn)的坐標(biāo)如[10,2]記錄在一個(gè)數(shù)組中,如[[10,2]]。
步驟s302:判斷所述第一黑色像素點(diǎn)周圍緊鄰的多個(gè)第二像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第二黑色像素點(diǎn)的坐標(biāo)。
示例性的,如圖6所示,繼續(xù)以上述第一黑色像素點(diǎn)為起點(diǎn),向該第一黑色像素點(diǎn)周圍緊鄰的多個(gè)第二像素點(diǎn)進(jìn)行“感染”。例如向第一黑色像素點(diǎn)周圍八個(gè)方向(上、下、左、右、左上、右上、左下、右下)的臨近像素點(diǎn)進(jìn)行“感染”,判斷這個(gè)八個(gè)像素點(diǎn)是否為黑色。圖6中該第一黑色像素點(diǎn)周圍八個(gè)方向中的右方、上方和右上方像素點(diǎn)為黑色像素點(diǎn),則將這3個(gè)像素點(diǎn)標(biāo)記為有效點(diǎn)并將這3個(gè)像素點(diǎn)的坐標(biāo)錄入所述數(shù)組中。例如,該數(shù)組變?yōu)閇[10,2],[10,3],[11,2],[11,3]]。
步驟s303:判斷該多個(gè)第二黑色像素點(diǎn)各自周圍緊鄰的多個(gè)第三像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第三黑色像素點(diǎn)的坐標(biāo),依此循環(huán)判斷記錄直至沒(méi)有新的黑色像素點(diǎn)出現(xiàn)。
示例性的,繼續(xù)以上述3個(gè)黑色像素點(diǎn)各自分別為起點(diǎn),向四周進(jìn)行“感染”,尋找黑色像素點(diǎn)即有效點(diǎn)并記錄坐標(biāo)。如此循環(huán),直至沒(méi)有新的有效坐標(biāo)加入所述數(shù)組,判斷結(jié)束。這樣圖片中一個(gè)字符的黑色像素點(diǎn)就以坐標(biāo)形式記錄在同一個(gè)數(shù)組中,例如[[10,2],[10,3],[11,2],[11,3]……]。相應(yīng)的,最終多個(gè)字符組成的數(shù)組例如可以是[[10,2],[10,3],[11,2],[11,3]……,[15,2],[15,3],[16,2],[16,3]……]]。
在一示例性實(shí)施例中,步驟s203中所述在所述數(shù)組中記錄該多個(gè)第三黑色像素點(diǎn)的坐標(biāo)可以包括:記錄該多個(gè)第三黑色像素點(diǎn)時(shí),對(duì)于已經(jīng)記錄了坐標(biāo)的黑色像素點(diǎn)不再記錄坐標(biāo)。
示例性的,以上述3個(gè)黑色像素點(diǎn)各自分別為起點(diǎn)向四周進(jìn)行“感染”尋找黑色像素點(diǎn)時(shí),該3個(gè)黑色像素點(diǎn)各自周圍的部分黑色像素點(diǎn)已經(jīng)在之前記錄了坐標(biāo),因此會(huì)有部分重復(fù)的黑色像素點(diǎn)(即坐標(biāo)值相同的像素點(diǎn)),所以對(duì)于已經(jīng)記錄了坐標(biāo)的黑色像素點(diǎn)不再記錄坐標(biāo)。
步驟s304:將歸屬于一個(gè)所述字符的所述數(shù)組作為所述位置信息。該數(shù)組中記錄每個(gè)字符所屬的所有黑色像素點(diǎn)的坐標(biāo)?;诖丝梢缘玫矫總€(gè)字符各自在所述圖片中的位置信息。
在步驟s102中,基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符;其中n為大于等于2的整數(shù),m為小于等于n的整數(shù)。
示例性的,所述預(yù)設(shè)參數(shù)用于表征所述選取框的尺寸大小,且與所述目標(biāo)字符的尺寸相關(guān)。也即該選取框與所述目標(biāo)字符相匹配。所述基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符可以包括:將所述n個(gè)字符中同時(shí)滿足所述選取框的尺寸大小和預(yù)設(shè)字符間距條件的字符確定為所述m個(gè)目標(biāo)字符;其中,所述預(yù)設(shè)字符間距為相鄰兩個(gè)目標(biāo)字符中心點(diǎn)之間的水平距離。
具體來(lái)說(shuō),上述舉例列出的身份證圖片中,身份證號(hào)即目標(biāo)字符的數(shù)量、高度、寬度以及相鄰字符間距(即相鄰兩個(gè)目標(biāo)字符中心點(diǎn)之間的水平距離)一般具有規(guī)律性。如身份證號(hào)為18位,每個(gè)數(shù)字的高度基本一致,相鄰數(shù)字間距也是相對(duì)固定的,且數(shù)字高度與寬度的比值是相對(duì)固定的。因此可以基于此形成一個(gè)與目標(biāo)字符尺寸匹配的選取框,該選取框可以恰好圍住一個(gè)目標(biāo)字符,類似于一個(gè)“圍城”。通過(guò)該選取框可以后續(xù)判斷字符是否為目標(biāo)字符。
參考圖7中所示,在一示例性實(shí)施例中,所述選取框可以是矩形選取框,所述預(yù)設(shè)參數(shù)可以包括參考寬度αh0和參考高度h0,所述參考寬度αh0為所述目標(biāo)字符(即身份證號(hào)碼數(shù)字)的高度與寬度的比值,所述參考高度h0為基于所述m個(gè)目標(biāo)字符(如18位身份證號(hào)碼)的高度得到的眾數(shù)。其中,相鄰兩個(gè)數(shù)字字符中心點(diǎn)之間的水平距離d是基本固定的。所述目標(biāo)字符即身份證號(hào)數(shù)字的高度可以通過(guò)上步驟s101中所述數(shù)組中記錄的數(shù)字字符的坐標(biāo)得到,例如可以找到每個(gè)字符對(duì)應(yīng)的y軸的坐標(biāo)最大值和最小值,基于這兩個(gè)值可以確定一個(gè)字符在y軸的高度。這里可以先統(tǒng)計(jì)出所有18位數(shù)字字符的高度,然后取其眾數(shù)作為參考高度h0。這樣可以在一定程度上提高后續(xù)目標(biāo)字符識(shí)別的準(zhǔn)確性。
相應(yīng)的,所述將所述n個(gè)字符中同時(shí)滿足所述選取框的尺寸大小和預(yù)設(shè)字符間距條件的字符確定為所述m個(gè)目標(biāo)字符可以包括以下步驟401~402:
步驟401:將所述選取框移動(dòng)至所述圖片中所述n個(gè)字符中的第一字符處,若所述第一字符位于所述選取框內(nèi),則確定該第一字符為第一目標(biāo)字符。
步驟402:將所述選取框從所述第一目標(biāo)字符處依次移動(dòng)所述預(yù)設(shè)字符間距到第二至第n字符處,若所述第二至第n字符均位于所述選取框內(nèi),則確定該第二至第n字符為第二至第m目標(biāo)字符。
在一種示例性實(shí)施例中,所述方法還可以包括以下步驟403~404:
步驟403:若所述第一字符的至少部分位于所述選取框外,則將所述選取框移動(dòng)所述預(yù)設(shè)字符間距到所述第二字符處。
步驟404:判斷所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符;若否則將所述選取框從所述第二字符處移動(dòng)到第三字符處重新判斷確定第一目標(biāo)字符。下面對(duì)上述步驟401~404進(jìn)行示例性的詳細(xì)說(shuō)明。
參考圖8中所示,示例性的,可以從圖片最左端的字符開始進(jìn)行判定,嘗試將字符圍在所述選取框中。如可以將“份”這一字符最左端的黑色像素點(diǎn)與所述選取框的左邊相切,最下端的黑色像素點(diǎn)與所述選取框的下邊相切,根據(jù)步驟s101中計(jì)算得到的記錄該字符的坐標(biāo)的數(shù)組,可以判定屬于這個(gè)字符的所有黑色像素點(diǎn)是否都在該選取框范圍內(nèi),如果該選取框成功框住了所有黑色像素點(diǎn)則暫且判斷這個(gè)字符是目標(biāo)字符。如圖8中所示,由于“份”字切圖切掉了一部分,寬度變小所以暫時(shí)符合要求,因此暫且認(rèn)定它是第一目標(biāo)字符。找到第一目標(biāo)字符后,將所述選取框向后平移,理想情況下,第一目標(biāo)字符應(yīng)為身份證號(hào)的第一位,所以向后平移的距離應(yīng)該是所述預(yù)設(shè)字符間距d。平移后,理想情況下所述選取框可以框住身份證號(hào)第二位,如圖9所示。但在本實(shí)施例中的實(shí)際例子中,第一字符滿足條件后向后移動(dòng),發(fā)現(xiàn)所述選取框不能圍住下一個(gè)字符,如圖10所示。這種情況下,則判定第二字符為噪點(diǎn),同時(shí)第一字符也改判為噪點(diǎn),從第三字符開始重新循環(huán)判斷,繼續(xù)向后尋找直到找到第一目標(biāo)字符。例如通過(guò)上述方法很容易判斷出字符“6”為第一目標(biāo)字符,以在字符“6”位置處為起點(diǎn),將所述選取框向后平移一個(gè)步長(zhǎng)即所述預(yù)設(shè)字符間距d,可以找到“3”為第二目標(biāo)字符,依此循環(huán)判斷可以得到全部18位目標(biāo)字符,如圖11所示。
然而在實(shí)際情況中,所述圖片可能會(huì)有稍許傾斜的情況,或者目標(biāo)字符在圖片中有稍許傾斜的情況,這樣相鄰兩個(gè)字符并不是在一條水平線上。例如,字符“3”被識(shí)別為第二目標(biāo)字符后,從字符“3”再向后尋找下一個(gè)即第三目標(biāo)字符“2”時(shí),由于傾斜導(dǎo)致字符在x軸的相對(duì)位置會(huì)有偏移,所以字符“2”就會(huì)有幾個(gè)黑色像素點(diǎn)溢出位于所述選取框外,如圖12所示。這種情況下很容易將本身是目標(biāo)字符的字符判定為噪點(diǎn),字符識(shí)別準(zhǔn)確率下降。
為了提高字符識(shí)別準(zhǔn)確率,針對(duì)目標(biāo)字符傾斜情況,在本公開的一種示例性實(shí)施例中,所述方法還可以包括以下步驟501~502:
步驟501:若所述第二字符的至少部分位于所述選取框外,則在所述所述第二字符處將所述選取框沿上下左右任意一個(gè)方向平移預(yù)設(shè)距離。
示例性的,參考圖13中所示,本示例實(shí)施例中,把字符傾斜這種情況考慮進(jìn)去,設(shè)定一種容錯(cuò)機(jī)制:當(dāng)判定得到一個(gè)目標(biāo)字符后,所述選取框向后移動(dòng)一個(gè)預(yù)設(shè)字符間距d到下一個(gè)字符處。如果該下一個(gè)字符不能被所述選取框圍住,例如屬于字符“2”的幾個(gè)黑色像素點(diǎn)溢出位于所述選取框外時(shí),暫不將該字符“2”判定為噪點(diǎn)。而是根據(jù)根據(jù)經(jīng)驗(yàn)設(shè)定一個(gè)參數(shù)m,在該字符“2”處將所述選取框在m個(gè)像素范圍內(nèi)進(jìn)行“抖動(dòng)”,即向上下左右四個(gè)方向中任意一個(gè)方向平移n個(gè)像素點(diǎn)的距離(即所述預(yù)設(shè)距離),其中n≤m。
步驟502:判斷平移后所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符。
示例性的,上述“抖動(dòng)”在任意一種情形下,只要滿足字符“2”的所有黑色像素點(diǎn)均位于所述選取框中,就判定該字符“2”為目標(biāo)字符。這樣可以通過(guò)容錯(cuò)機(jī)制進(jìn)一步提高字符識(shí)別的準(zhǔn)確率。
在一種示例性實(shí)施例中,所述方法還可以包括以下步驟503~504:
步驟503:將所述選取框從平移后的位置移動(dòng)所述預(yù)設(shè)字符間距到與所述第二字符相鄰的所述第三字符處。
示例性的,當(dāng)在如字符“2”處將所述選取框在m個(gè)像素范圍內(nèi)進(jìn)行“抖動(dòng)”后識(shí)別出了目標(biāo)字符,則在下一步平移時(shí)就以“抖動(dòng)”后的位置作為起點(diǎn)進(jìn)行平移所述預(yù)設(shè)字符間距d到字符“1”,而不是“抖動(dòng)”之前的位置。這樣可以適應(yīng)這一傾斜情況而進(jìn)一步提高字符識(shí)別的準(zhǔn)確率。
步驟504:判斷平移后所述第三字符是否位于所述選取框內(nèi),若是則確定該第三字符為所述第二目標(biāo)字符。例如平移后判斷字符“1”是否位于所述選取框內(nèi),若是則確定該字符“1”為下一個(gè)目標(biāo)字符。
本公開的一種示例性實(shí)施例中,所述方法還可以包括以下步驟:當(dāng)確定的目標(biāo)字符的數(shù)量p超過(guò)m個(gè)時(shí),從第p目標(biāo)字符至第一目標(biāo)字符中依次選取m個(gè)作為最終的目標(biāo)字符。
示例性的,按照上述方法步驟進(jìn)行循環(huán)判斷識(shí)別目標(biāo)字符,直到所述選取框移動(dòng)到圖片最右端,可以將整個(gè)平移過(guò)程中所有符合要求的字符暫定為目標(biāo)字符。在如圖14所示情況下,圖片中存在一些形狀與目標(biāo)字符類似且位置與身份證號(hào)大致在一條水平線上,間隔又剛好合適的字符,如圖14中的橢圓所圈的豎線。這些字符在現(xiàn)有相關(guān)技術(shù)如投影方式中是無(wú)法有效去除噪點(diǎn)的,導(dǎo)致字符識(shí)別準(zhǔn)確率降低。本示例實(shí)施例中的方法,這些字符本應(yīng)是噪點(diǎn)卻也可能被識(shí)別為目標(biāo)字符,導(dǎo)致識(shí)別的目標(biāo)字符如身份證號(hào)的個(gè)數(shù)超過(guò)18個(gè)。那么可以在如圖14所示情況下,從所述圖片最右側(cè)開始向左計(jì)算18位作為最終的目標(biāo)字符。
在步驟s103中,根據(jù)所述m個(gè)目標(biāo)字符對(duì)應(yīng)的所述位置信息,對(duì)所述圖片進(jìn)行切割得到所述m個(gè)目標(biāo)字符分別對(duì)應(yīng)的單個(gè)字符。
示例性的,可以通過(guò)上步驟s101中所述數(shù)組中記錄的每個(gè)字符的坐標(biāo),找到多個(gè)目標(biāo)字符的具體位置,據(jù)此對(duì)所述圖片進(jìn)行切割得到多個(gè)目標(biāo)字符(如18位身份證號(hào)碼)分別對(duì)應(yīng)的單個(gè)字符。如切割得到單個(gè)字符的圖片,用于后續(xù)的識(shí)別。
相比于相關(guān)技術(shù)中先識(shí)別出噪點(diǎn),再將噪點(diǎn)去除,然后按照位置進(jìn)行圖片切割的方法,本示例實(shí)施方式中的上述方法與傳統(tǒng)方法的思路是相反的,該方法可以直接識(shí)別判斷哪些字符是目標(biāo)字符,再根據(jù)目標(biāo)字符的位置坐標(biāo)進(jìn)行切割,因此可以在一定程度上提高目標(biāo)字符的識(shí)別效率和準(zhǔn)確率。另外,該方法可以滿足目標(biāo)字符在一定范圍內(nèi)略有傾斜的情況下的字符識(shí)別,也可以對(duì)圖14所示字符“8”這種被噪點(diǎn)完全切開兩半的字符進(jìn)行有效識(shí)別,因此字符識(shí)別準(zhǔn)確率較高,適應(yīng)性也更強(qiáng)。該方法更進(jìn)一步可以滿足更多復(fù)雜的業(yè)務(wù)場(chǎng)景中的目標(biāo)字符識(shí)別要求。
需要說(shuō)明的是,盡管在附圖中以特定順序描述了本公開中方法的各個(gè)步驟,但是,這并非要求或者暗示必須按照該特定順序來(lái)執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實(shí)現(xiàn)期望的結(jié)果。附加的或備選的,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,以及/或者將一個(gè)步驟分解為多個(gè)步驟執(zhí)行等。另外,也易于理解的是,這些步驟可以是例如在多個(gè)模塊/進(jìn)程/線程中同步或異步執(zhí)行。
進(jìn)一步的,本示例實(shí)施方式中,還提供了一種字符切割裝置。參考圖15中所示,該裝置100可以包括字符位置計(jì)算模塊101、目標(biāo)字符確定模塊102和目標(biāo)字符切割模塊103。其中:
所述字符位置計(jì)算模塊101,用于獲取一包含n個(gè)字符的圖片,計(jì)算每個(gè)所述字符在所述圖片中的位置信息。
所述目標(biāo)字符確定模塊102,用于基于一具有預(yù)設(shè)參數(shù)的選取框確定所述圖片中的n個(gè)字符中的m個(gè)目標(biāo)字符;其中n為大于等于2的整數(shù),m為小于等于n的整數(shù)。
所述目標(biāo)字符切割模塊103,用于根據(jù)所述m個(gè)目標(biāo)字符對(duì)應(yīng)的所述位置信息,對(duì)所述圖片進(jìn)行切割得到所述m個(gè)目標(biāo)字符分別對(duì)應(yīng)的單個(gè)字符。
在本公開的一種示例性實(shí)施例中,所述預(yù)設(shè)參數(shù)用于表征所述選取框的尺寸大小,且與所述目標(biāo)字符的尺寸相關(guān);
所述目標(biāo)字符確定模塊102,用于將所述n個(gè)字符中同時(shí)滿足所述選取框的尺寸大小和預(yù)設(shè)字符間距條件的字符確定為所述m個(gè)目標(biāo)字符;其中,所述預(yù)設(shè)字符間距為相鄰兩個(gè)目標(biāo)字符中心點(diǎn)之間的水平距離。
在本公開的一種示例性實(shí)施例中,所述預(yù)設(shè)參數(shù)包括參考寬度和參考高度,所述參考寬度為所述目標(biāo)字符的高度與寬度的比值,所述參考高度為基于所述m個(gè)目標(biāo)字符的高度得到的眾數(shù);所述目標(biāo)字符確定模塊102,用于將所述選取框移動(dòng)至所述圖片中所述n個(gè)字符中的第一字符處,若所述第一字符位于所述選取框內(nèi),則確定該第一字符為第一目標(biāo)字符;之后將所述選取框從所述第一目標(biāo)字符處依次移動(dòng)所述預(yù)設(shè)字符間距到第二至第n字符處,若所述第二至第n字符均位于所述選取框內(nèi),則確定該第二至第n字符為第二至第m目標(biāo)字符。
在本公開的一種示例性實(shí)施例中,所述目標(biāo)字符確定模塊102還用于:
若所述第一字符的至少部分位于所述選取框外,則將所述選取框移動(dòng)所述預(yù)設(shè)字符間距到所述第二字符處;
判斷所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符;若否則將所述選取框從所述第二字符處移動(dòng)到第三字符處重新判斷確定第一目標(biāo)字符。
在本公開的一種示例性實(shí)施例中,所述目標(biāo)字符確定模塊102還用于:
若所述第二字符的至少部分位于所述選取框外,則在所述所述第二字符處將所述選取框沿上下左右任意一個(gè)方向平移預(yù)設(shè)距離;
判斷平移后所述第二字符是否位于所述選取框內(nèi),若是則確定該第二字符為所述第一目標(biāo)字符。
在本公開的一種示例性實(shí)施例中,所述目標(biāo)字符確定模塊102還用于:
將所述選取框從平移后的位置移動(dòng)所述預(yù)設(shè)字符間距到與所述第二字符相鄰的所述第三字符處;
判斷平移后所述第三字符是否位于所述選取框內(nèi),若是則確定該第三字符為所述第二目標(biāo)字符。
在本公開的一種示例性實(shí)施例中,所述目標(biāo)字符確定模塊102還用于:
當(dāng)確定的目標(biāo)字符的數(shù)量p超過(guò)m個(gè)時(shí),從第p目標(biāo)字符至第一目標(biāo)字符中依次選取m個(gè)作為最終的目標(biāo)字符。
在本公開的一種示例性實(shí)施例中,所述字符位置計(jì)算模塊101,用于:
對(duì)所述圖片進(jìn)行二值化處理后,掃描所述圖片獲取一個(gè)所述字符的第一黑色像素點(diǎn)并在一數(shù)組中記錄該第一黑色像素點(diǎn)的坐標(biāo);
判斷所述第一黑色像素點(diǎn)周圍緊鄰的多個(gè)第二像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第二黑色像素點(diǎn)的坐標(biāo);
判斷該多個(gè)第二黑色像素點(diǎn)各自周圍緊鄰的多個(gè)第三像素點(diǎn)是否為黑色像素點(diǎn),若是則在所述數(shù)組中記錄該多個(gè)第三黑色像素點(diǎn)的坐標(biāo),依此循環(huán)判斷記錄直至沒(méi)有新的黑色像素點(diǎn)出現(xiàn);
將歸屬于一個(gè)所述字符的所述數(shù)組作為所述位置信息。
在本公開的一種示例性實(shí)施例中,所述字符位置計(jì)算模塊101,還用于:記錄該多個(gè)第三黑色像素點(diǎn)時(shí),對(duì)于已經(jīng)記錄了坐標(biāo)的黑色像素點(diǎn)不再記錄坐標(biāo)。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動(dòng)作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強(qiáng)制性的。實(shí)際上,根據(jù)本公開的實(shí)施方式,上文描述的兩個(gè)或更多模塊或者單元的特征和功能可以在一個(gè)模塊或者單元中具體化。反之,上文描述的一個(gè)模塊或者單元的特征和功能可以進(jìn)一步劃分為由多個(gè)模塊或者單元來(lái)具體化。作為模塊或單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)木公開方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
本示例實(shí)施方式中,還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)可以實(shí)現(xiàn)上述任意一個(gè)實(shí)施例中所述字符切割方法的步驟。所述字符切割方法的具體步驟可參考前述實(shí)施例中關(guān)于上述字符切割方法各步驟的詳細(xì)描述,此處不再贅述。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、隨機(jī)存取存儲(chǔ)器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
本示例實(shí)施方式中,還提供一種電子設(shè)備,該電子設(shè)備可以包括處理器,以及用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器。其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來(lái)執(zhí)行上述任意一個(gè)實(shí)施例中所述字符切割方法的步驟。該字符切割方法的步驟可參考前述方法實(shí)施例中的詳細(xì)描述,此處不再贅述。所述電子設(shè)備可以是手機(jī)、平板電腦等移動(dòng)終端,也可以是臺(tái)式計(jì)算機(jī)、服務(wù)器等終端設(shè)備,本示例實(shí)施方式中對(duì)此不作限制。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)軟件結(jié)合必要的硬件的方式來(lái)實(shí)現(xiàn)。因此,根據(jù)本公開實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤,移動(dòng)硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、觸控終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實(shí)施方式的上述方法。
圖16示出根據(jù)本公開示例實(shí)施方式中一種字符切割裝置400的示意圖。例如,裝置400可以被提供為一服務(wù)器。參照?qǐng)D16,裝置400包括處理組件422,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器432所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件422的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器432中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件422被配置為執(zhí)行指令,以執(zhí)行上述字符切割方法。
裝置400還可以包括一個(gè)電源組件426被配置為執(zhí)行裝置400的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口450被配置為將裝置400連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口458。裝置400可以操作基于存儲(chǔ)在存儲(chǔ)器432的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開的發(fā)明后,將容易想到本公開的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由所附的權(quán)利要求指出。