本公開涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種證件圖像傾斜校正方法和裝置。
背景技術(shù):
在人們的日常生活中,經(jīng)常需要從證件中獲取相關(guān)信息。隨著計(jì)算機(jī)、圖像處理等技術(shù)的飛速發(fā)展,使用計(jì)算機(jī)自動(dòng)識別和錄入相關(guān)信息已經(jīng)越來越普及。
相關(guān)技術(shù)中,通常會采用拍攝或掃描的方式采集證件圖像,然后對采集到的證件圖像進(jìn)行處理、分析,自動(dòng)識別和提取證件圖像中的相關(guān)信息。其中,對傾斜的證件圖像進(jìn)行傾斜校正是其中常見的一個(gè)處理步驟。目前,對傾斜的證件圖像進(jìn)行傾斜校正的常見方法是:先進(jìn)行證件圖像字符區(qū)域二值化,確定出證件圖像的傾斜角度,然后對證件圖像進(jìn)行相應(yīng)校正。但是,這種傾斜校正方法確定出的傾斜角度精度低,造成校正效果差。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種證件圖像傾斜校正方法和裝置。
根據(jù)本公開實(shí)施例的第一方面,提供一種證件圖像傾斜校正方法,所述方法包括:
獲取證件圖像;
采用多個(gè)檢測器初步確定所述證件圖像的方向,并按照初步確定出的方向調(diào)整所述證件圖像的方向;
確定調(diào)整后的所述證件圖像上的字符位置,得到字符分布圖;
根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度;
按照所述最終旋轉(zhuǎn)角度,旋轉(zhuǎn)所述證件圖像。
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行精確檢測,對證件圖像進(jìn)行微調(diào),初步校正保證了校正的整體方向,在初步校正后,只需要在較小的范圍(如0-45度和315~360度)內(nèi)檢測傾斜角度,然后進(jìn)行相應(yīng)微調(diào),相比于一次調(diào)整而言,這種兩步校正的方式,調(diào)整精度高,校正效果好。
在本公開的一種實(shí)現(xiàn)方式中,所述采用多個(gè)檢測器初步確定所述證件圖像的方向,包括:
將所述證件圖像分別輸入四個(gè)檢測器,所述四個(gè)檢測器分別用于確定所述證件圖像是否處于與水平線呈0、90、180、270度的方向;
將所述四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為所述證件圖像的方向。
采用四個(gè)檢測器進(jìn)行證件圖像方向的初步確定,不僅易于實(shí)現(xiàn),且分類效果能夠滿足初步檢測的需求,為后續(xù)微調(diào)做準(zhǔn)備
在本公開的另一種實(shí)現(xiàn)方式中,所述確定調(diào)整后的所述證件圖像上的字符位置,包括:
以設(shè)定大小的窗口在所述證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提??;
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷所述窗口圖像中是否包含字符,將包含字符的窗口圖像對應(yīng)的位置作為字符位置。
在該實(shí)現(xiàn)方式中,通過滑動(dòng)窗口來檢測字符位置,從而確定字符分布圖,檢測方式簡單、檢測結(jié)果準(zhǔn)確。
在本公開的另一種實(shí)現(xiàn)方式中,所述根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度,包括:
對所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
確定各條投影曲線中波峰和波谷差異最大的投影曲線;
根據(jù)所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向確定所述最終旋轉(zhuǎn)角度。
由于證件圖像中的字符是按行分布的,各行之間有明顯空白,所以若投影方向與字符的行方向一致,形成的投影曲線的波峰波谷最為明顯,因此,確定出波峰和波谷差異最大的投影曲線,即可確定出需要進(jìn)行微調(diào)的最終旋轉(zhuǎn)角度,采用此旋轉(zhuǎn)角度對調(diào)整后的證件圖像進(jìn)行旋轉(zhuǎn),得到方向正確的證件圖像,校正效果好。
在本公開的另一種實(shí)現(xiàn)方式中,所述根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度,包括:
第一步、將所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)所述字符分布圖;
第四步、根據(jù)所述波峰和波谷差異最大的投影曲線的波峰和波谷,對所述字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行所述字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行所述字符區(qū)域中,與所述字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、采用去除字符后的字符分布圖作為新的字符分布圖,并對所述新的字符分布圖重復(fù)所述第一步至所述第六步,直至沒有字符被去掉,將每次執(zhí)行所述第三步時(shí)使用的旋轉(zhuǎn)角度相加得到所述最終旋轉(zhuǎn)角度。
在該實(shí)現(xiàn)方式中,由于與直線距離越大,字符實(shí)際是噪聲點(diǎn)的可能性更大,故通過執(zhí)行第一步至所述第六步,能夠除去噪聲點(diǎn);在每次除噪聲點(diǎn)后,采用去除噪聲點(diǎn)后的字符分布圖作為新的字符分布圖,并重復(fù)執(zhí)行第一步至第六步,當(dāng)重復(fù)執(zhí)行第一步至第六步使噪聲點(diǎn)全部被除去時(shí),將每次執(zhí)行所述第三步時(shí)使用的旋轉(zhuǎn)角度相加得到所述最終旋轉(zhuǎn)角度,對調(diào)整后的證件圖像進(jìn)行校正,降低了噪聲點(diǎn)的影響,提高了證件圖像的傾斜校正精度。
在本公開的另一種實(shí)現(xiàn)方式中,所述根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度,包括:
第一步、將所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)所述字符分布圖;
第四步、根據(jù)所述波峰和波谷差異最大的投影曲線的波峰和波谷,對所述字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行所述字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行所述字符區(qū)域中,與所述字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、按照所述證件圖像上的剩余的字符位置重新確定字符分布圖,并對重新確定出的字符分布圖重復(fù)所述第一步至所述第六步,直至沒有字符被去掉,將此時(shí)所述第三步使用的旋轉(zhuǎn)角度作為所述最終旋轉(zhuǎn)角度。
在該實(shí)現(xiàn)方式中,由于與直線距離越大,字符實(shí)際是噪聲點(diǎn)的可能性更大,故通過執(zhí)行第一步至所述第六步,能夠除去噪聲點(diǎn);在每次除噪聲點(diǎn)后,按照證件圖像上的剩余的字符位置重新確定字符分布圖,并重復(fù)執(zhí)行第一步至第六步,當(dāng)重復(fù)執(zhí)行第一步至第六步使噪聲點(diǎn)全部被除去時(shí),將每次執(zhí)行所述第三步時(shí)使用的旋轉(zhuǎn)角度相加得到所述最終旋轉(zhuǎn)角度,對調(diào)整后的證件圖像進(jìn)行校正,降低了噪聲點(diǎn)的影響,提高了證件圖像的傾斜校正精度。
在本公開的另一種實(shí)現(xiàn)方式中,所述確定各條投影曲線中波峰和波谷差異最大的投影曲線,包括:
分別確定各條所述投影曲線的波峰點(diǎn)和波谷點(diǎn),所述波峰點(diǎn)為所述投影曲線中值大于周圍的值的極值點(diǎn),所述波谷點(diǎn)為所述投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條所述投影曲線中相鄰的所述波峰點(diǎn)和所述波谷點(diǎn)的差值,并將同一條所述投影曲線中的所有差值求和,得到各條所述投影曲線的波峰和波谷差異;
從所述多條投影曲線中選出所述波峰和波谷差異最大的投影曲線。
由于證件圖像中,字符是按行分布的,各行之間有明顯空白,所以,投影方向與證件圖像的方向越接近,形成的投影曲線的波峰波谷越明顯,即形成的投影曲線的波峰和波谷的差異越大。
在本公開的另一種實(shí)現(xiàn)方式中,所述證件圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照圖像或駕駛證圖像。
根據(jù)本公開實(shí)施例的第二方面,提供一種證件圖像傾斜校正裝置,所述裝置包括:
圖像獲取模塊,用于獲取證件圖像;
調(diào)整模塊,用于采用多個(gè)檢測器初步確定所述證件圖像的方向,并按照初步確定出的方向調(diào)整所述證件圖像的方向;
字符檢測模塊,用于確定調(diào)整后的所述證件圖像上的字符位置,得到字符分布圖;
處理模塊,用于根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度;
所述調(diào)整模塊,還用于按照所述最終旋轉(zhuǎn)角度,旋轉(zhuǎn)所述證件圖像。
在本公開的一種實(shí)現(xiàn)方式中,所述調(diào)整模塊,用于:
將所述證件圖像分別輸入四個(gè)檢測器,所述四個(gè)檢測器分別用于確定所述證件圖像是否處于與水平線呈0、90、180、270度的方向;
將所述四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為所述證件圖像的方向。
在本公開的另一種實(shí)現(xiàn)方式中,所述字符檢測模塊,用于:
以設(shè)定大小的窗口在所述證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提取;
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷所述窗口圖像中是否包含字符,將包含字符的窗口圖像對應(yīng)的位置作為字符位置。
在本公開的另一種實(shí)現(xiàn)方式中,所述處理模塊,用于:
對所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
確定各條投影曲線中波峰和波谷差異最大的投影曲線;
根據(jù)所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向確定所述最終旋轉(zhuǎn)角度。
在本公開的另一種實(shí)現(xiàn)方式中,所述處理模塊,用于采用下述方式確定最終旋轉(zhuǎn)角度:
第一步、將所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)所述字符分布圖;
第四步、根據(jù)所述波峰和波谷差異最大的投影曲線的波峰和波谷,對所述字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行所述字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行所述字符區(qū)域中,與所述字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、采用去除字符后的字符分布圖作為新的字符分布圖,并對所述新的字符分布圖重復(fù)所述第一步至所述第六步,直至沒有字符被去掉,將每次執(zhí)行所述第三步時(shí)使用的旋轉(zhuǎn)角度相加得到所述最終旋轉(zhuǎn)角度。
在本公開的另一種實(shí)現(xiàn)方式中,所述處理模塊,用于采用下述方式確定最終旋轉(zhuǎn)角度:
第一步、將所述字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照所述波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)所述字符分布圖;
第四步、根據(jù)所述波峰和波谷差異最大的投影曲線的波峰和波谷,對所述字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行所述字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行所述字符區(qū)域中,與所述字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、按照所述證件圖像上的剩余的字符位置重新確定字符分布圖,并對重新確定出的字符分布圖重復(fù)所述第一步至所述第六步,直至沒有字符被去掉,將此時(shí)所述第三步使用的旋轉(zhuǎn)角度作為所述最終旋轉(zhuǎn)角度。
在本公開的另一種實(shí)現(xiàn)方式中,所述處理模塊,用于:
分別確定各條所述投影曲線的波峰點(diǎn)和波谷點(diǎn),所述波峰點(diǎn)為所述投影曲線中值大于周圍的值的極值點(diǎn),所述波谷點(diǎn)為所述投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條所述投影曲線中相鄰的所述波峰點(diǎn)和所述波谷點(diǎn)的差值,并將同一條所述投影曲線中的所有差值求和,得到各條所述投影曲線的波峰和波谷差異;
從所述多條投影曲線中選出所述波峰和波谷差異最大的投影曲線。
在本公開的另一種實(shí)現(xiàn)方式中,所述證件圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照圖像或駕駛證圖像。
根據(jù)本公開實(shí)施例的第三方面,提供一種證件圖像傾斜校正裝置,所述裝置包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
獲取證件圖像;
采用多個(gè)檢測器初步確定所述證件圖像的方向,并按照初步確定出的方向調(diào)整所述證件圖像的方向;
確定調(diào)整后的所述證件圖像上的字符位置,得到字符分布圖;
根據(jù)所述字符分布圖確定最終旋轉(zhuǎn)角度;
按照所述最終旋轉(zhuǎn)角度,旋轉(zhuǎn)所述證件圖像。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行精確檢測,對證件圖像進(jìn)行微調(diào),初步校正保證了校正的整體方向,在初步校正后,只需要在較小的范圍(如0-45度和315~360度)內(nèi)檢測傾斜角度,然后進(jìn)行相應(yīng)微調(diào),相比于一次調(diào)整而言,這種兩步校正的方式,調(diào)整精度高,校正效果好。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正方法的流程圖;
圖2是根據(jù)一示例性實(shí)施例示出的另一種證件圖像傾斜校正方法的流程圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正裝置的框圖;
圖4是根據(jù)一示例性實(shí)施例示出的另一種證件圖像傾斜校正裝置的框圖;
圖5是根據(jù)一示例性實(shí)施例示出的又一種證件圖像傾斜校正裝置的框圖;
圖6是根據(jù)一示例性實(shí)施例示出的再一種證件圖像傾斜校正裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
本公開實(shí)施例可以適用于證件拍照后上傳驗(yàn)證信息的場景,尤其適用于手持證件拍照或是手持終端設(shè)備給證件拍照的場景,這是因?yàn)檫@兩種情況下,證件圖像都有可能是傾斜的,即拍攝時(shí)物平面與鏡頭平面平行,但是拍攝得到的證件圖像與水平線呈一定角度,這對后續(xù)證件圖像中的信息的提取帶來難度,因此,需要先對證件圖像進(jìn)行傾斜校正。
圖1是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正方法,該方法可以用于終端設(shè)備中,終端設(shè)備包括但不限于手機(jī)、平板電腦、筆記本電腦等,該方法還可以用于服務(wù)器中,如圖1所示,該方法包括以下步驟。
在步驟S11中,獲取證件圖像。
其中,證件圖像的獲取方式包括但不限于以下方式:
采用圖像采集設(shè)備(例如攝像頭、數(shù)碼相機(jī)、掃描儀等)采集證件圖像;
從存儲介質(zhì)或存儲設(shè)備中獲取證件圖像。
其中,證件圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照圖像或駕駛證圖像等。
該步驟S11中獲取到的證件圖像可以為灰度圖像,也可以為彩色圖像(例如RGB(Red、Green、Blue,紅綠藍(lán))格式的彩色圖像)。
容易知道,若獲取到的證件圖像是灰度圖像,則可以直接執(zhí)行后續(xù)步驟,若獲取到的證件圖像是彩色圖像,則需要先將其轉(zhuǎn)換為灰度圖像,然后再執(zhí)行后續(xù)步驟。
在步驟S12中,采用多個(gè)檢測器初步確定證件圖像的方向,并按照初步確定出的方向調(diào)整證件圖像的方向。
實(shí)現(xiàn)時(shí),步驟S12可以包括:將證件圖像分別輸入四個(gè)檢測器,四個(gè)檢測器分別用于確定證件圖像是否處于與水平線呈0、90、180、270度的方向;將四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為證件圖像的方向。其中,四個(gè)檢測器在輸入證件圖像后,分別生成相應(yīng)分?jǐn)?shù),確定分?jǐn)?shù)最大(也即響應(yīng)最大)的檢測器對應(yīng)的方向作為證件圖像的方向。
每個(gè)檢測器用于檢測證件圖像是否屬于其對應(yīng)的方向,四個(gè)檢測器分別對應(yīng)與水平線呈0、90、180、270度四個(gè)方向。
本實(shí)施例中采用4個(gè)檢測器初步確定證件圖像的方向,一方面可以使得初步檢測的證件圖像的方向能夠滿足后續(xù)做進(jìn)一步檢測的需求,另一方面,又不至于采用過多的檢測器進(jìn)行方向檢測,造成檢測時(shí)間過長的問題。當(dāng)然本公開對于檢測器的數(shù)量也并不做限制,可以采用更多或者更少的檢測器進(jìn)行方向檢測。
上述檢測器可以為Haar特征+Adaboost(Adaptive Boosting,自適應(yīng)增強(qiáng))檢測器。
根據(jù)初步檢測結(jié)果調(diào)整該證件圖像的方向,以使得調(diào)整后的方向與水平線的角度最小。例如,若檢測出的證件圖像的方向?yàn)?80度,則將該圖像旋轉(zhuǎn)180度。
在步驟S13中,確定調(diào)整后的證件圖像上的字符位置,得到字符分布圖。
在本公開實(shí)施例中,字符包括但不限于漢字、數(shù)字、英文等各種形式的字符。
進(jìn)一步地,該步驟S13可以包括:
以設(shè)定大小的窗口在證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提??;
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷對應(yīng)的窗口圖像中是否包含字符,包含字符的窗口圖像對應(yīng)的位置即為字符位置。
其中,設(shè)定大小可以根據(jù)字符大小設(shè)置,比如設(shè)定大小的窗口可以為當(dāng)證件圖像縮放到設(shè)定大小時(shí),其中的單個(gè)字符的外接矩形,設(shè)定步長可以為單個(gè)字符的寬度的1/3~1倍。
其中,對每個(gè)窗口圖像進(jìn)行特征提取得到的特征可以為HOG(Histogram of Oriented Gradient,方向梯度直方圖)特征、Haar特征或LBP(Local Binary Pattern,局部二值模式)特征等。根據(jù)各個(gè)窗口圖像中提取到的特征,判斷該窗口圖像中是否包含字符可以采用分類器實(shí)現(xiàn),比如SVM(Support Vector Machine,支持向量機(jī))、隨機(jī)樹等。實(shí)際使用的特征的類型和分類器的類型可以根據(jù)實(shí)際需要選擇,例如,可以選擇HOG特征與SVM結(jié)合,本公開對此不做限制。
在步驟S14中,根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度。
在經(jīng)過步驟S12的按照初步確定出的方向進(jìn)行證件圖像的方向調(diào)整后,只需要對證件圖像進(jìn)行微調(diào)即可。由于字符的排列方向與證件圖像方向的水平方向相同,因此根據(jù)字符分布圖中字符的排列方向來確定微調(diào)使用的最終旋轉(zhuǎn)角度,準(zhǔn)確度高,確定過程相對簡單。
實(shí)現(xiàn)時(shí),步驟S14可以包括:
第一步,對字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線。
多個(gè)設(shè)定投影方向通過以設(shè)定間隔在0~45度和315~360度范圍內(nèi)取值得到。設(shè)定間隔可以為1~5度。
因?yàn)樽C件圖像已經(jīng)進(jìn)過了初步校正,只需要做進(jìn)一步微調(diào),因此只需要在0~45度和315~360度范圍內(nèi)遍歷,找到波峰波谷最明顯的角度以確定微調(diào)角度即可。
第二步,確定各條投影曲線中波峰和波谷差異最大的投影曲線。
實(shí)現(xiàn)時(shí),第二步可以包括:
分別確定各條投影曲線的波峰點(diǎn)和波谷點(diǎn),波峰點(diǎn)為投影曲線中值大于周圍的值的極值點(diǎn),波谷點(diǎn)為投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條投影曲線中相鄰的波峰點(diǎn)和波谷點(diǎn)的差值,并將同一條投影曲線中的所有差值求和,得到各條投影曲線的波峰和波谷差異;
從多條投影曲線中選出波峰和波谷差異最大的投影曲線。
由于證件圖像中,字符是按行分布的,各行之間有明顯空白,所以,投影方向與證件圖像的方向越接近,形成的投影曲線的波峰波谷越明顯,即形成的投影曲線的波峰和波谷的差異越大。
第三步,根據(jù)波峰波谷差異最大的投影曲線對應(yīng)的投影方向確定最終旋轉(zhuǎn)角度。
例如,確定出的投影方向?yàn)?0度,則最終旋轉(zhuǎn)角度確定為10度。
由于證件圖像中的字符是按行分布的,各行之間有明顯空白,所以若投影方向與字符的行方向一致,形成的投影曲線的波峰波谷最為明顯,因此,確定出波峰和波谷差異最大的投影曲線對應(yīng)的方向,即確定出需要進(jìn)行微調(diào)的最終旋轉(zhuǎn)角度。
在步驟S15中,按照最終旋轉(zhuǎn)角度,旋轉(zhuǎn)證件圖像。
通常,步驟S14中確定出的最終旋轉(zhuǎn)角度在0-45度之間,在確定出最終旋轉(zhuǎn)角度后,對證件圖像進(jìn)行相應(yīng)角度的旋轉(zhuǎn)即可。
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行精確檢測,對證件圖像進(jìn)行微調(diào),初步校正保證了校正的整體方向,在初步校正后,只需要在較小的范圍(如0-45度和315~360度)內(nèi)檢測傾斜角度,然后進(jìn)行相應(yīng)微調(diào),相比于一次調(diào)整而言,這種兩步校正的方式,調(diào)整精度高,校正效果好。
圖2是根據(jù)一示例性實(shí)施例示出的另一種證件圖像傾斜校正方法,該證件圖像傾斜校正方法可以用于終端設(shè)備中,終端設(shè)備包括但不限于手機(jī)、平板電腦、筆記本電腦等;該方法還可以用于服務(wù)器中。本實(shí)施例將以身份證圖像為例進(jìn)行詳細(xì)說明,容易知道,除了身份證圖像以外,證件圖像還可以為有價(jià)文件(例如支票等)圖像、居住證圖像、信用卡圖像、護(hù)照圖像或駕駛證圖像等。如圖2所示,該方法包括以下步驟。
在步驟S21中,獲取證件圖像。
其中,證件圖像的獲取方式包括但不限于以下方式:
采用圖像采集設(shè)備(例如攝像頭、數(shù)碼相機(jī)、掃描儀等)采集證件圖像;
從存儲介質(zhì)或存儲設(shè)備中獲取證件圖像。
該步驟S21中獲取到的證件圖像可以為灰度圖像,也可以為彩色圖像(例如RGB格式的彩色圖像)。
容易知道,若獲取到的證件圖像是灰度圖像,則可以直接執(zhí)行后續(xù)步驟,若獲取到的證件圖像是彩色圖像,則需要先將其轉(zhuǎn)換為灰度圖像,然后再執(zhí)行后續(xù)步驟。
在步驟S22中,采用多個(gè)檢測器對證件圖像的方向進(jìn)行初步檢測,并根據(jù)初步檢測的結(jié)果調(diào)整該證件圖像的方向。
實(shí)現(xiàn)時(shí),步驟S22可以包括:將證件圖像分別輸入四個(gè)檢測器,四個(gè)檢測器分別用于確定證件圖像是否處于與水平線呈0、90、180、270度的方向;將四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為證件圖像的方向。
每個(gè)檢測器用于檢測證件圖像是否屬于其對應(yīng)的方向,四個(gè)檢測器分別對應(yīng)與水平線呈0、90、180、270度四個(gè)方向。
上述檢測器可以為Haar特征+Adaboost檢測器。
根據(jù)初步檢測結(jié)果調(diào)整該證件圖像的方向,以使得調(diào)整后的方向與水平線的角度最小。例如,若檢測出的證件圖像的方向?yàn)?80度,則將該圖像旋轉(zhuǎn)180度。
通常,證件圖像都是矩形的,部分為圓角矩形,部分為直角矩形。
實(shí)現(xiàn)時(shí),由于通常證件上都包括人臉,以便于區(qū)分以及核實(shí),因此,在一種實(shí)現(xiàn)方式中,可以先檢測人臉位置,然后根據(jù)檢測到的人臉區(qū)域確定證件圖像的方向。例如,采用人臉檢測器確定證件圖像的人臉區(qū)域;然后采用四個(gè)檢測器確定人臉區(qū)域的方向,從而確定出人臉方向,即為證件圖片的方向。其中,人臉檢測器可以利用Adaboost+Haar特征訓(xùn)練得到,也可以使用成熟的opencv開源的人臉檢測器。
在另一種實(shí)現(xiàn)方式中,還可以采用檢測器直接對整個(gè)證件圖像進(jìn)行方向分類,這里不做贅述。
進(jìn)一步地,在根據(jù)初步檢測的結(jié)果調(diào)整該證件圖像的方向之后,該方法還可以包括,對證件圖像進(jìn)行裁剪。
裁剪過程包括但不限于:對該證件圖像進(jìn)行證件邊界檢測,根據(jù)證件圖像的證件邊界進(jìn)行證件圖像的裁剪?;蛘撸鶕?jù)確定出的證件圖像的人臉區(qū)域進(jìn)行證件圖像的裁剪;由于通常在一種類型的證件圖像中,人臉區(qū)域的位置是固定的,因此在確定出人臉區(qū)域后,根據(jù)人臉區(qū)域在證件圖像中的位置(如人臉區(qū)域到證件圖像四邊的距離),可以對證件圖像進(jìn)行裁剪。
其中,證件邊界可以采用Canny邊緣檢測算法或Sobel算法等算法進(jìn)行檢測。
在步驟S23中,確定調(diào)整后的證件圖像上的字符位置,得到字符分布圖。
在本公開實(shí)施例中,字符包括但不限于漢字、數(shù)字、英文等各種形式的字符。字符位置是指包含有字符的位置。
實(shí)現(xiàn)時(shí),可以將字符位置對應(yīng)的所有像素標(biāo)記為1,非字符位置對應(yīng)的所有像素標(biāo)記為0。
進(jìn)一步地,該步驟S23可以包括:
以設(shè)定大小的窗口在證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提?。?/p>
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷該窗口圖像中是否包含字符,將包含字符的窗口圖像對應(yīng)的位置作為字符位置。
其中,設(shè)定大小可以根據(jù)字符大小確定,比如設(shè)定大小的窗口可以為當(dāng)證件圖像縮放到設(shè)定大小時(shí),其中的單個(gè)字符的外接矩形,設(shè)定步長可以為單個(gè)字符的外接矩形的寬度的1/3~1倍。
其中,對每個(gè)窗口圖像進(jìn)行特征提取得到的特征可以為HOG特征、Haar特征或LBP特征等。根據(jù)各個(gè)窗口圖像中提取到的特征,判斷該窗口圖像中是否包含字符可以采用分類器(字符檢測器)實(shí)現(xiàn),比如SVM、隨機(jī)樹等。實(shí)際使用的特征的類型和分類器的類型可以根據(jù)實(shí)際需要選擇,例如,可以選擇HOG特征與SVM結(jié)合,本公開對此不做限制。
在步驟S24中,對字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線。
投影時(shí),按照前述步驟S23中的標(biāo)記的各個(gè)位置的值,生成上述投影曲線,使得投影曲線可以反應(yīng)字符位置和空白位置的分布。
多個(gè)設(shè)定投影方向通過以設(shè)定間隔在0~45度和315~360度范圍內(nèi)取值得到。設(shè)定間隔可以為1~5度。
因?yàn)樽C件圖像已經(jīng)進(jìn)過了初步校正,只需要做進(jìn)一步微調(diào),因此只需要在0~45度和315~360度范圍內(nèi)遍歷,找到波峰波谷最明顯的角度以確定微調(diào)角度即可。
在步驟S25中,確定各條投影曲線中波峰和波谷差異最大的投影曲線。
實(shí)現(xiàn)時(shí),該步驟S25可以包括:
分別確定各條投影曲線的波峰點(diǎn)和波谷點(diǎn),波峰點(diǎn)為投影曲線中值大于周圍的值的極值點(diǎn),波谷點(diǎn)為投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條投影曲線中相鄰的波峰點(diǎn)和波谷點(diǎn)的差值,并將同一條投影曲線中的所有差值求和,得到各條投影曲線的波峰和波谷差異;
從多條投影曲線中選出波峰和波谷差異最大的投影曲線。
由于證件圖像中,字符是按行分布的,各行之間有明顯空白,所以,投影方向與證件圖像的方向越接近,形成的投影曲線的波峰波谷越明顯,即形成的投影曲線的波峰和波谷的差異越大。
在步驟S26中,按照波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)字符分布圖。
例如,確定出的投影方向?yàn)?0度,則將字符分布圖逆時(shí)針旋轉(zhuǎn)10度。
在步驟S27中,根據(jù)波峰和波谷差異最大的投影曲線的波峰和波谷,對字符分布圖按行進(jìn)行切分,得到字符區(qū)域。
其中,波峰處對應(yīng)字符區(qū)域,波谷處對應(yīng)空白區(qū)域。
在步驟S28中,對切分后的每一行字符區(qū)域進(jìn)行直線擬合。
擬合出的直線,使該行字符區(qū)域中的字符到該直線上的距離之和最小。實(shí)現(xiàn)時(shí),可以先定義一條直線,然后采用最小二乘法求直線的參數(shù),進(jìn)行直線擬合。
在步驟S29中,去除每一行字符區(qū)域中,與字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符。
其中,設(shè)定值可以采用不同的方式進(jìn)行設(shè)置,例如可以求所有字符與直線的距離平均值,將設(shè)定值定為此平均值的兩倍。當(dāng)然,也可以采用其他方式設(shè)置,本公開對此不做限制。
在步驟S30中,采用去除字符后的字符分布圖作為新的字符分布圖,并對新的字符分布圖重復(fù)步驟S24至S29,直至沒有字符被去掉,將每次執(zhí)行步驟S26時(shí)使用的旋轉(zhuǎn)角度相加得到最終旋轉(zhuǎn)角度。
在步驟S23中得到字符分布圖后,通過步驟S26對字符分布圖進(jìn)行旋轉(zhuǎn)、步驟S29進(jìn)行去字符后,得到上述新的字符分布圖。
在進(jìn)行旋轉(zhuǎn)角度相加時(shí)需要注意旋轉(zhuǎn)的方向,例如在上述過程中以前述最終旋轉(zhuǎn)角度確定為進(jìn)行過兩次旋轉(zhuǎn),角度分別為順時(shí)針15度和逆時(shí)針5度,則最終旋轉(zhuǎn)角度為順時(shí)針10度。
通過反復(fù)執(zhí)行步驟S24至S29,可以除去字符分布圖中的噪聲點(diǎn)。因?yàn)榕c直線距離越大,字符實(shí)際是噪聲點(diǎn)的可能性更大,故通過上述處理,能夠除去噪聲點(diǎn),從而降低噪聲點(diǎn)的影響,提高證件圖像的傾斜校正精度。
在另一種實(shí)現(xiàn)方式中,步驟S30還可以采用如下方式實(shí)現(xiàn):按照證件圖像上的剩余的字符位置重新確定字符分布圖,并對重新確定出的字符分布圖重復(fù)步驟S24至S29,直至沒有字符被去掉,將此時(shí)步驟S26使用的旋轉(zhuǎn)角度作為最終旋轉(zhuǎn)角度。
步驟S23中通過在調(diào)整后的證件圖像上確定出的字符位置,得到字符分布圖,在該實(shí)現(xiàn)方式的步驟S30中,通過在調(diào)整后的證件圖像上剩余的字符位置,得到字符分布圖。
在步驟S31中,按照最終調(diào)整角度旋轉(zhuǎn)證件圖像,得到校正后的圖像。
以最終調(diào)整角度為逆時(shí)針10度為例,此時(shí)旋轉(zhuǎn)證件圖像的方向?yàn)槟鏁r(shí)針,按照逆時(shí)針10度旋轉(zhuǎn)證件圖像,即可得到校正后的圖像。
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行投影,根據(jù)投影曲線確定最終旋轉(zhuǎn)角度,由于證件圖像中的字符是按行分布的,各行之間有明顯空白,所以若投影方向與字符的行方向一致,形成的投影曲線的波峰波谷最為明顯,因此,確定出波峰和波谷差異最大的投影曲線,即可準(zhǔn)確確定需要進(jìn)行微調(diào)的最終旋轉(zhuǎn)角度,使得對證件圖像微調(diào)的精度高;另外,在確定波峰和波谷差異最大的投影曲線的過程中,對字符分布圖進(jìn)行去噪聲點(diǎn)處理,降低噪聲點(diǎn)的影響,提高了證件圖像的傾斜校正精度。通過上述兩步傾斜校正,最終將證件圖像調(diào)整到正向位置,滿足后續(xù)對證件圖像的處理需求。
圖3是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正裝置的框圖,參照圖3,該裝置包括:圖像獲取模塊310、調(diào)整模塊320、字符檢測模塊330和處理模塊340。
其中,圖像獲取模塊310,用于獲取證件圖像;調(diào)整模塊320,用于采用多個(gè)檢測器初步確定證件圖像的方向,并按照初步確定出的方向調(diào)整證件圖像的方向;字符檢測模塊330,用于確定調(diào)整后的證件圖像上的字符位置,得到字符分布圖;處理模塊340,用于根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度;調(diào)整模塊320,還用于按照最終旋轉(zhuǎn)角度,旋轉(zhuǎn)證件圖像。
其中,證件圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照圖像或駕駛證圖像等。
進(jìn)一步地,圖像獲取模塊310獲取證件圖像的方式可以參見步驟S11;調(diào)整模塊320進(jìn)行證件圖像方向調(diào)整的方式可以參見步驟S12;字符檢測模塊330得到字符分布圖的方式可以參見步驟S13;處理模塊340確定最終旋轉(zhuǎn)角度的方式可以參見步驟S14;調(diào)整模塊320旋轉(zhuǎn)證件圖像的方式可以參見步驟S15,在此省略詳細(xì)描述。
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行精確檢測,對證件圖像進(jìn)行微調(diào),初步校正保證了校正的整體方向,在初步校正后,只需要在較小的范圍(如0-45度和315~360度)內(nèi)檢測傾斜角度,然后進(jìn)行相應(yīng)微調(diào),相比于一次調(diào)整而言,這種兩步校正的方式,調(diào)整精度高,校正效果好。
圖4是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正裝置的框圖,參照圖4,該裝置包括:圖像獲取模塊410、調(diào)整模塊420、字符檢測模塊430和處理模塊440。
其中,圖像獲取模塊410,用于獲取證件圖像;調(diào)整模塊420,用于采用多個(gè)檢測器初步確定證件圖像的方向,并按照初步確定出的方向調(diào)整證件圖像的方向;字符檢測模塊430,用于確定調(diào)整后的證件圖像上的字符位置,得到字符分布圖;處理模塊440,用于根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度;調(diào)整模塊420,還用于按照最終旋轉(zhuǎn)角度,旋轉(zhuǎn)證件圖像。
其中,證件圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照圖像或駕駛證圖像等。
其中,調(diào)整模塊420,用于:
將證件圖像分別輸入四個(gè)檢測器,四個(gè)檢測器分別用于確定證件圖像是否處于與水平線呈0、90、180、270度的方向;
將四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為證件圖像的方向。
在本公開實(shí)施例的一種實(shí)現(xiàn)方式中,字符檢測模塊430,用于:
以設(shè)定大小的窗口在證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提取;
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷窗口圖像中是否包含字符,將包含字符的窗口圖像對應(yīng)的位置作為字符位置。
在本公開實(shí)施例的一種實(shí)現(xiàn)方式中,處理模塊440,用于:
對字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
確定各條投影曲線中波峰和波谷差異最大的投影曲線;
根據(jù)波峰波谷差異最大的投影曲線對應(yīng)的投影方向確定最終旋轉(zhuǎn)角度。
在本公開實(shí)施例的另一種實(shí)現(xiàn)方式中,處理模塊440,用于采用下述方式確定最終旋轉(zhuǎn)角度:
第一步、將字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)字符分布圖;
第四步、根據(jù)波峰和波谷差異最大的投影曲線的波峰和波谷,對字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行字符區(qū)域中,與字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、采用去除字符后的字符分布圖作為新的字符分布圖,并對新的字符分布圖重復(fù)第一步至第六步,直至沒有字符被去掉,將每次執(zhí)行第三步時(shí)使用的旋轉(zhuǎn)角度相加得到最終旋轉(zhuǎn)角度。
在本公開實(shí)施例的另一種實(shí)現(xiàn)方式中,處理模塊440,用于采用下述方式確定最終旋轉(zhuǎn)角度:
第一步、將字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)字符分布圖;
第四步、根據(jù)波峰和波谷差異最大的投影曲線的波峰和波谷,對字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行字符區(qū)域中,與字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、按照證件圖像上的剩余的字符位置重新確定字符分布圖,并對重新確定出的字符分布圖重復(fù)第一步至第六步,直至沒有字符被去掉,將此時(shí)第三步使用的旋轉(zhuǎn)角度作為最終旋轉(zhuǎn)角度。
在一種可能的實(shí)現(xiàn)方式中,處理模塊440,用于:
分別確定各條投影曲線的波峰點(diǎn)和波谷點(diǎn),波峰點(diǎn)為投影曲線中值大于周圍的值的極值點(diǎn),波谷點(diǎn)為投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條投影曲線中相鄰的波峰點(diǎn)和波谷點(diǎn)的差值,并將同一條投影曲線中的所有差值求和,得到各條投影曲線的波峰和波谷差異;
從多條投影曲線中選出波峰和波谷差異最大的投影曲線。
需要說明的是,圖像獲取模塊410獲取證件圖像的方式可以參見步驟S21;調(diào)整模塊420進(jìn)行證件圖像方向調(diào)整的方式可以參見步驟S22;字符檢測模塊430得到字符分布圖的方式可以參見步驟S23;處理模塊440確定最終旋轉(zhuǎn)角度的方式可以參見步驟S24-S30;調(diào)整模塊420旋轉(zhuǎn)證件圖像的方式可以參見步驟S31,在此省略詳細(xì)描述。
進(jìn)一步地,該裝置還可以包括裁剪模塊450,用于對按照初步確定出的方向進(jìn)行調(diào)整后的證件圖像進(jìn)行裁剪,裁剪模塊450進(jìn)行證件圖像裁剪的方式可以參見步驟S22。
在本公開實(shí)施例中,首先使用多個(gè)檢測器進(jìn)行粗略的方向檢測,對證件圖像進(jìn)行初步校正,然后基于字符分布圖進(jìn)行投影,根據(jù)投影曲線確定最終旋轉(zhuǎn)角度,由于證件圖像中的字符是按行分布的,各行之間有明顯空白,所以若投影方向與字符的行方向一致,形成的投影曲線的波峰波谷最為明顯,因此,確定出波峰和波谷差異最大的投影曲線,即可準(zhǔn)確確定需要進(jìn)行微調(diào)的最終旋轉(zhuǎn)角度,使得對證件圖像微調(diào)的精度高;另外,在確定波峰和波谷差異最大的投影曲線的過程中,對字符分布圖進(jìn)行去噪聲點(diǎn)處理,降低噪聲點(diǎn)的影響,提高了證件圖像的傾斜校正精度。通過上述兩步傾斜校正,最終將證件圖像調(diào)整到正向位置,滿足后續(xù)對證件圖像的處理需求。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
圖5是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正裝置600的框圖。例如,裝置600可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
參照圖5,裝置600可以包括以下一個(gè)或多個(gè)組件:處理組件602,存儲器604,電力組件606,多媒體組件608,音頻組件610,輸入/輸出(I/O)的接口612,傳感器組件614,以及通信組件616。
處理組件602通??刂蒲b置600的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件602可以包括一個(gè)或多個(gè)處理器620來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件602可以包括一個(gè)或多個(gè)模塊,便于處理組件602和其他組件之間的交互。例如,處理組件602可以包括多媒體模塊,以方便多媒體組件608和處理組件602之間的交互。
存儲器604被配置為存儲各種類型的數(shù)據(jù)以支持在裝置600的操作。這些數(shù)據(jù)的示例包括用于在裝置600上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器604可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件606為裝置600的各種組件提供電力。電力組件606可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置600生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件608包括在所述裝置600和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測觸摸、滑動(dòng)和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件608包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置600處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件610被配置為輸出和/或輸入音頻信號。例如,音頻組件610包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置600處于操作模式,如呼叫模式、記錄模式和語音識別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器604或經(jīng)由通信組件616發(fā)送。在一些實(shí)施例中,音頻組件610還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號。
I/O接口612為處理組件602和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件614包括一個(gè)或多個(gè)傳感器,用于為裝置600提供各個(gè)方面的狀態(tài)評估。例如,傳感器組件614可以檢測到設(shè)備600的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置600的顯示器和小鍵盤,傳感器組件614還可以檢測裝置600或裝置600一個(gè)組件的位置改變,用戶與裝置600接觸的存在或不存在,裝置600方位或加速/減速和裝置600的溫度變化。傳感器組件614可以包括接近傳感器,被配置用來在沒有任何的物理接觸時(shí)檢測附近物體的存在。傳感器組件614還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件614還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件616被配置為便于裝置600和其他設(shè)備之間有線或無線方式的通信。裝置600可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件616經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件616還包括近場通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置600可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器604,上述指令可由裝置600的處理器620執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì)可以是ROM、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
一種非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由移動(dòng)終端的處理器執(zhí)行時(shí),使得移動(dòng)終端能夠執(zhí)行一種證件圖像傾斜校正方法,所述方法包括:
獲取證件圖像;
采用多個(gè)檢測器初步確定證件圖像的方向,并按照初步確定出的方向調(diào)整證件圖像的方向;
確定調(diào)整后的證件圖像上的字符位置,得到字符分布圖;
根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度;
按照最終旋轉(zhuǎn)角度,旋轉(zhuǎn)證件圖像。
可選地,采用多個(gè)檢測器初步確定證件圖像的方向,包括:
將證件圖像分別輸入四個(gè)檢測器,四個(gè)檢測器分別用于確定證件圖像是否處于與水平線呈0、90、180、270度的方向;
將四個(gè)檢測器中響應(yīng)最大的檢測器對應(yīng)的方向作為證件圖像的方向。
在本公開的另一種實(shí)現(xiàn)方式中,確定調(diào)整后的證件圖像上的字符位置,包括:
以設(shè)定大小的窗口在證件圖像上以設(shè)定步長進(jìn)行滑動(dòng),得到多個(gè)窗口圖像;
對每個(gè)窗口圖像進(jìn)行特征提??;
根據(jù)各個(gè)窗口圖像中提取到的特征,判斷窗口圖像中是否包含字符,將包含字符的窗口圖像對應(yīng)的位置作為字符位置。
在本公開的一種實(shí)現(xiàn)方式中,根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度,包括:
對字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
確定各條投影曲線中波峰和波谷差異最大的投影曲線;
根據(jù)波峰和波谷差異最大的投影曲線對應(yīng)的投影方向確定最終旋轉(zhuǎn)角度。
在本公開的另一種實(shí)現(xiàn)方式中,根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度,包括:
第一步、將字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)字符分布圖;
第四步、根據(jù)波峰和波谷差異最大的投影曲線的波峰和波谷,對字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行字符區(qū)域中,與字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、采用去除字符后的字符分布圖作為新的字符分布圖,并對新的字符分布圖重復(fù)第一步至第六步,直至沒有字符被去掉,將每次執(zhí)行第三步時(shí)使用的旋轉(zhuǎn)角度相加得到最終旋轉(zhuǎn)角度。
在本公開的另一種實(shí)現(xiàn)方式中,根據(jù)字符分布圖確定最終旋轉(zhuǎn)角度,包括:
第一步、將字符分布圖按照多個(gè)設(shè)定投影方向進(jìn)行投影,得到多條投影曲線;
第二步、確定各條投影曲線中波峰和波谷差異最大的投影曲線;
第三步、按照波峰和波谷差異最大的投影曲線對應(yīng)的投影方向,旋轉(zhuǎn)字符分布圖;
第四步、根據(jù)波峰和波谷差異最大的投影曲線的波峰和波谷,對字符分布圖按行進(jìn)行切分,得到字符區(qū)域;
第五步、對切分后的每一行字符區(qū)域進(jìn)行直線擬合;
第六步、去除每一行字符區(qū)域中,與字符區(qū)域?qū)?yīng)的直線距離超過設(shè)定值的字符;
第七步、按照證件圖像上的剩余的字符位置重新確定字符分布圖,并對重新確定出的字符分布圖重復(fù)第一步至第六步,直至沒有字符被去掉,將此時(shí)第三步使用的旋轉(zhuǎn)角度作為最終旋轉(zhuǎn)角度。
在一種可能的實(shí)現(xiàn)方式中,確定各條投影曲線中波峰和波谷差異最大的投影曲線,包括:
分別確定各條投影曲線的波峰點(diǎn)和波谷點(diǎn),波峰點(diǎn)為投影曲線中值大于周圍的值的極值點(diǎn),波谷點(diǎn)為投影曲線中值小于周圍的點(diǎn)的值的極值點(diǎn);
計(jì)算各條投影曲線中相鄰的波峰點(diǎn)和波谷點(diǎn)的差值,并將同一條投影曲線中的所有差值求和,得到各條投影曲線的波峰和波谷差異;
從多條投影曲線中選出波峰和波谷差異最大的投影曲線。
其中,證件圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照圖像或駕駛證圖像。
圖6是根據(jù)一示例性實(shí)施例示出的一種證件圖像傾斜校正裝置700的框圖。例如,裝置700可以被提供為一服務(wù)器。參照圖6,裝置700包括處理組件722,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲器732所代表的存儲器資源,用于存儲可由處理組件722的執(zhí)行的指令,例如應(yīng)用程序。存儲器732中存儲的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對應(yīng)于一組指令的模塊。此外,處理組件722被配置為執(zhí)行指令,以執(zhí)行上述方法。
裝置700還可以包括一個(gè)電源組件726被配置為執(zhí)行裝置700的電源管理,一個(gè)有線或無線網(wǎng)絡(luò)接口750被配置為將裝置700連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口758。裝置700可以操作基于存儲在存儲器732的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。