本公開涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種卡片圖像模糊檢測(cè)方法和裝置。
背景技術(shù):
在人們的日常生活中,經(jīng)常需要從證件等卡片式文件中獲取相關(guān)信息。隨著計(jì)算機(jī)、圖像處理等技術(shù)的飛速發(fā)展,使用計(jì)算機(jī)自動(dòng)識(shí)別和錄入相關(guān)信息已經(jīng)越來(lái)越普及。
相關(guān)技術(shù)中,通常會(huì)采用拍攝或掃描的方式采集卡片式文件的圖像,然后對(duì)采集到的圖像進(jìn)行處理、分析,自動(dòng)識(shí)別和提取圖像中的相關(guān)信息。然而,若獲取到的圖像模糊,將會(huì)導(dǎo)致信息無(wú)法識(shí)別或是識(shí)別結(jié)果出錯(cuò),最終可能導(dǎo)致相關(guān)信息錄入失敗。因此,對(duì)圖像是否模糊的檢測(cè)尤為重要。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種卡片圖像模糊檢測(cè)方法和裝置。
根據(jù)本公開實(shí)施例的第一方面,提供一種卡片圖像模糊檢測(cè)方法,所述方法包括:
獲取卡片圖像;
確定所述卡片圖像中的各行字符區(qū)域;
計(jì)算每行所述字符區(qū)域中各像素點(diǎn)的梯度,所述梯度包括至少兩個(gè)方向的梯度;
根據(jù)計(jì)算出的所述梯度,生成所述卡片圖像的至少兩張?zhí)荻确植紙D,每張所述梯度分布圖對(duì)應(yīng)所述至少兩個(gè)方向中的一個(gè)方向;
基于所述至少兩張?zhí)荻确植紙D,確定所述卡片圖像是否模糊。
在第一方面的一種可能的實(shí)現(xiàn)方式中,所述確定卡片圖像中的各行字符區(qū)域,包括:
對(duì)所述卡片圖像進(jìn)行邊緣檢測(cè),得到邊緣圖;
將所述邊緣圖進(jìn)行水平投影,得到投影直方圖;
根據(jù)所述投影直方圖確定所述卡片圖像中的各行字符區(qū)域。
在本公開實(shí)施例的另一種可能的實(shí)現(xiàn)方式中,所述計(jì)算每行所述字符區(qū)域中各像素點(diǎn)的梯度,包括:
以設(shè)定大小的滑動(dòng)窗口在每行字符區(qū)域中滑動(dòng),得到多個(gè)窗口圖像;
計(jì)算每個(gè)所述窗口圖像中每個(gè)像素點(diǎn)的梯度,得到每個(gè)所述窗口圖像的至少兩張?zhí)荻葓D,每張?zhí)荻葘?duì)應(yīng)所述至少兩個(gè)方向中的一個(gè)方向;
對(duì)每張所述梯度圖分別進(jìn)行歸一化處理。
進(jìn)一步地,所述對(duì)每個(gè)所述滑動(dòng)窗口對(duì)應(yīng)的每張?zhí)荻葓D分別進(jìn)行歸一化處理,包括:
分別確定每張所述梯度圖的歸一化因子,所述歸一化因子等于梯度圖內(nèi)的最大灰度值與最小灰度值的差值;
采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理。
更進(jìn)一步地,所述采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理,可以采用如下方式:
將每張所述梯度圖中各像素點(diǎn)的原梯度值除以所述歸一化因子,得到每個(gè)像素點(diǎn)的新的梯度值。
在第一方面的又一種可能的實(shí)施方式中,所述根據(jù)計(jì)算出的所述梯度,生成所述卡片圖像的至少兩張?zhí)荻确植紙D,包括:
按照像素點(diǎn)的位置,將各個(gè)所述滑動(dòng)窗口的同一方向的梯度圖合并;
將所述卡片圖像中的非字符區(qū)域的像素點(diǎn)的梯度值置0,得到所述梯度分布圖。
優(yōu)選地,所述根據(jù)計(jì)算出的所述梯度,生成所述卡片圖像的至少兩張?zhí)荻确植紙D,還包括:
對(duì)每張所述梯度分布圖分別進(jìn)行中值濾波,濾波半徑大于字符寬度。
在第一方面的又一種可能的實(shí)施方式中,所述基于所述至少兩張?zhí)荻确植紙D,確定所述卡片圖像是否模糊,包括:
將每張所述梯度分布圖中梯度值大于閾值的區(qū)域確定為清晰區(qū)域并將所述清晰區(qū)域中的像素點(diǎn)標(biāo)記為1,將每張所述梯度分布圖中梯度值小于或等于閾值的區(qū)域確定為模糊區(qū)域,并將所述模糊區(qū)域中的像素點(diǎn)標(biāo)記為0,得到多張二值圖;
對(duì)每張所述二值圖進(jìn)行連通域分析,刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域;
合并所述多張二值圖中的模糊區(qū)域,得到清晰度分布圖;
采用所述清晰度分布圖,確定所述卡片圖像是否模糊。
進(jìn)一步地,所述采用所述清晰度分布圖,確定所述卡片圖像是否模糊,包括:
若所述清晰度分布圖滿足以下條件中的至少一種,則確定所述卡片圖像模糊:
所述清晰度分布圖中,模糊區(qū)域包含的像素點(diǎn)的數(shù)量大于設(shè)定值;
所述清晰度分布圖中,模糊區(qū)域和清晰區(qū)域的分布符合設(shè)定的分布模式。
可選地,所述方法還包括:
當(dāng)檢測(cè)出所述卡片圖像模糊時(shí),輸出提示信息。
可選地,所述卡片圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照?qǐng)D像或駕駛證圖像。
根據(jù)本公開實(shí)施例的第二方面,提供一種卡片圖像模糊檢測(cè)裝置,所述裝置包括:
圖像獲取模塊,用于獲取卡片圖像;
字符區(qū)域確定模塊,用于確定所述圖像獲取模塊獲取到的所述卡片圖像中的各行字符區(qū)域;
梯度計(jì)算模塊,用于計(jì)算每行所述字符區(qū)域中各像素點(diǎn)的梯度,所述梯度包括至少兩個(gè)方向的梯度;
生成模塊,用于根據(jù)所述梯度計(jì)算模塊計(jì)算出的所述梯度,生成所述卡片圖像的至少兩張?zhí)荻确植紙D,每張所述梯度分布圖對(duì)應(yīng)所述至少兩個(gè)方向中的一個(gè)方向;
模糊確定模塊,用于基于所述生成模塊生成的所述至少兩張?zhí)荻确植紙D,確定所述卡片圖像是否模糊。
在第二方面的一種可能的實(shí)現(xiàn)方式中,所述字符區(qū)域確定模塊,包括:
邊緣檢測(cè)子模塊,用于對(duì)所述卡片圖像進(jìn)行邊緣檢測(cè),得到邊緣圖;
投影子模塊,用于對(duì)所述邊緣檢測(cè)子模塊得到的所述邊緣圖進(jìn)行水平投影,得到投影直方圖;
區(qū)域確定子模塊,用于根據(jù)所述投影子模塊得到的所述投影直方圖,確定所述卡片圖像中的各行字符區(qū)域。
在第二方面的另一種可能的實(shí)現(xiàn)方式中,所述梯度計(jì)算模塊,包括:
滑動(dòng)子模塊,用于以設(shè)定大小的滑動(dòng)窗口在所述字符區(qū)域確定模塊確定出的每行字符區(qū)域中滑動(dòng),得到多個(gè)窗口圖像;
梯度圖生成子模塊,用于計(jì)算每個(gè)所述窗口圖像中每個(gè)像素點(diǎn)的梯度,得到每個(gè)所述窗口圖像的至少兩張?zhí)荻葓D,每張?zhí)荻葘?duì)應(yīng)所述至少兩個(gè)方向中的一個(gè)方向;
歸一化子模塊,用于對(duì)所述梯度圖生成子模塊得到的每張所述梯度圖分別進(jìn)行歸一化處理。
進(jìn)一步地,所述歸一化子模塊,用于分別確定每張所述梯度圖的歸一化因子,所述歸一化因子等于梯度圖內(nèi)的最大灰度值與最小灰度值的差值;采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理。
更進(jìn)一步地,所述歸一化子模塊,用于將每張所述梯度圖中各像素點(diǎn)的原梯度值除以所述歸一化因子,得到每個(gè)像素點(diǎn)的新的梯度值。
在第二方面的又一種可能的實(shí)現(xiàn)方式中,所述生成模塊,用于按照像素點(diǎn)的位置,將各個(gè)所述滑動(dòng)窗口的同一方向的梯度圖合并;將所述卡片圖像中的非字符區(qū)域的像素點(diǎn)的梯度值置0,得到所述梯度分布圖。
優(yōu)選地,所述裝置還包括:
濾波模塊,用于對(duì)所述生成模塊得到的每張所述梯度分布圖分別進(jìn)行中值濾波,濾波半徑大于字符寬度。
在第二方面的又一種可能的實(shí)施方式中,所述模糊確定模塊,包括:
二值化子模塊,用于將每張所述梯度分布圖中梯度值大于閾值的區(qū)域確定為清晰區(qū)域并將所述清晰區(qū)域中的像素點(diǎn)標(biāo)記為1,將每張所述梯度分布圖中梯度值小于或等于閾值的區(qū)域確定為模糊區(qū)域,并將所述模糊區(qū)域中的像素點(diǎn)標(biāo)記為0,得到多張二值圖;
連通域分析子模塊,用于對(duì)每張所述二值圖進(jìn)行連通域分析,刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域;
合并子模塊,用于合并所述連通域分析子模塊處理后的所述多張二值圖中的模糊區(qū)域,得到清晰度分布圖;
模糊確定子模塊,用于采用所述合并子模塊得到的所述清晰度分布圖,確定所述卡片圖像是否模糊。
進(jìn)一步地,所述模糊確定子模塊,用于當(dāng)所述合并子模塊得到的所述清晰度分布圖滿足以下條件中的至少一種時(shí),確定所述卡片圖像模糊:
所述清晰度分布圖中,模糊區(qū)域包含的像素點(diǎn)的數(shù)量大于設(shè)定值;
所述清晰度分布圖中,模糊區(qū)域和清晰區(qū)域的分布符合設(shè)定的分布模式。
可選地,所述裝置還包括:
輸出模塊,用于當(dāng)檢測(cè)出所述卡片圖像模糊時(shí),輸出提示信息。
可選地,所述卡片圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照?qǐng)D像或駕駛證圖像。
根據(jù)本公開實(shí)施例的第三方面,提供一種卡片圖像模糊檢測(cè)裝置,所述裝置包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
獲取卡片圖像;
確定所述卡片圖像中的各行字符區(qū)域;
計(jì)算每行所述字符區(qū)域中各像素點(diǎn)的梯度,所述梯度包括至少兩個(gè)方向的梯度;
根據(jù)計(jì)算出的所述梯度,生成所述卡片圖像的至少兩張?zhí)荻确植紙D,每張所述梯度分布圖對(duì)應(yīng)所述至少兩個(gè)方向中的一個(gè)方向;
基于所述至少兩張?zhí)荻确植紙D,確定所述卡片圖像是否模糊。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
由于在進(jìn)行卡片圖像信息自動(dòng)識(shí)別時(shí),通常只需要識(shí)別出一些設(shè)定信息,因此,其只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否能夠檢測(cè)出字符等,也就是說(shuō),在進(jìn)行模糊檢測(cè)時(shí),只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否模糊,因此,在本公開實(shí)施例中,通過(guò)計(jì)算卡片圖像的字符區(qū)域中的每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度,并根據(jù)計(jì)算出的梯度,生成該卡片圖像的至少兩張?zhí)荻确植紙D,基于這兩張?zhí)荻确植紙D來(lái)確定卡片圖像是否模糊,可以準(zhǔn)確識(shí)別出所有的模糊圖像,檢測(cè)準(zhǔn)確度高。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書中并構(gòu)成本說(shuō)明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)方法的流程圖;
圖2是根據(jù)一示例性實(shí)施例示出的另一種卡片圖像模糊檢測(cè)方法的流程圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種卡片圖像檢模糊檢測(cè)裝置的框圖;
圖4是根據(jù)一示例性實(shí)施例示出的另一種卡片圖像模糊檢測(cè)裝置的框圖;
圖5是根據(jù)一示例性實(shí)施例示出的又一種卡片圖像模糊檢測(cè)裝置的框圖;
圖6是根據(jù)一示例性實(shí)施例示出的再一種卡片圖像模糊檢測(cè)裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
本公開實(shí)施例可以適用于證件等卡片式文件拍照后上傳驗(yàn)證信息的場(chǎng)景,尤其適用于手持證件拍照或是手持終端設(shè)備給證件拍照的場(chǎng)景,這是因?yàn)檫@兩種情況下,手的抖動(dòng)都可能導(dǎo)致拍攝得到的卡片圖像模糊,即運(yùn)動(dòng)模糊。當(dāng)然,被公開實(shí)施例同樣適用于在證件拍照時(shí),由于其他因素造成卡片圖像模糊的情況,例如虛焦等,本公開對(duì)此不做限制。本公開尤其適用于圖像信息自動(dòng)識(shí)別技術(shù),通過(guò)預(yù)先檢測(cè)卡片圖像是否模糊,并根據(jù)結(jié)果確定是否放棄本次識(shí)別。
需要說(shuō)明的是,在本公開實(shí)施例中,卡片圖像指卡片式文件拍攝得到的圖像。
圖1是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)方法,該方法可以用于終端設(shè)備中,終端設(shè)備包括但不限于手機(jī)、平板電腦、筆記本電腦等,該方法還可以用于服務(wù)器中,如圖1所示,該方法包括以下步驟。
在步驟S101中,獲取卡片圖像。
其中,卡片圖像的獲取方式包括但不限于以下方式:
采用圖像采集設(shè)備(例如攝像頭、數(shù)碼相機(jī)、掃描儀等)采集卡片圖像;
從存儲(chǔ)介質(zhì)或存儲(chǔ)設(shè)備中獲取卡片圖像。
其中,卡片圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照?qǐng)D像或駕駛證圖像等。
該步驟S101中獲取到的卡片圖像可以為灰度圖像,也可以為彩色圖像(例如RGB(Red、Green、Blue,紅綠藍(lán))格式的彩色圖像)。
容易知道,若卡片圖像是灰度圖像,則可以直接執(zhí)行后續(xù)步驟,若卡片圖像是彩色圖像,則需要先將其轉(zhuǎn)換為灰度圖像。
在步驟S102中,確定卡片圖像中的各行字符區(qū)域。
在本公開實(shí)施例中,字符包括但不限于漢字、數(shù)字、英文等各種形式的字符。字符區(qū)域是指包含有字符的區(qū)域。
由于卡片圖像中,字符通常按行分布,因此,該步驟12中,以行為單位確定卡片圖像中的字符區(qū)域。例如,以身份證為例,其中的字符區(qū)域可以包括姓名行、出生日期行、住址行、身份證編號(hào)行等,當(dāng)然,前述住址行等可以是一行也可以是多行。
在步驟S103中,計(jì)算每行所述字符區(qū)域中各像素點(diǎn)的梯度,該梯度包括至少兩個(gè)方向的梯度。
其中,至少兩個(gè)方向均勻分布在0~180°范圍內(nèi),優(yōu)選為4~8個(gè)方向,更優(yōu)選為4個(gè)方向,例如,0°、45°、90°和135°。
在步驟S104中,根據(jù)計(jì)算出的梯度,生成卡片圖像的至少兩張?zhí)荻确植紙D。
其中,每張?zhí)荻确植紙D對(duì)應(yīng)步驟S103中的至少兩個(gè)方向中的一個(gè)方向。例如,若在步驟S103中在每個(gè)像素點(diǎn),均計(jì)算了四個(gè)方向的梯度,且這四個(gè)方向分別為0°、45°、90°和135°,則在該步驟S104中,會(huì)生成四張?zhí)荻确植紙D,這四張?zhí)荻确植紙D分別對(duì)應(yīng)0°、45°、90°和135°這四個(gè)方向,即每張?zhí)荻确植紙D中像素點(diǎn)的梯度的方向相同,不同梯度分布圖中的像素點(diǎn)的梯度的方向不同。
在步驟S105中,基于生成的至少兩張?zhí)荻确植紙D,確定卡片圖像是否模糊。
可選地,檢測(cè)出卡片圖像模糊后,該方法還可以包括:輸出提示信息,以提醒用戶卡片圖像模糊。
由于在進(jìn)行卡片圖像信息自動(dòng)識(shí)別時(shí),通常只需要識(shí)別出一些設(shè)定信息,因此,其只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否能夠檢測(cè)出字符等,也就是說(shuō),在進(jìn)行模糊檢測(cè)時(shí),只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否模糊,因此,在本公開實(shí)施例中,通過(guò)計(jì)算卡片圖像的字符區(qū)域中的每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度,并根據(jù)計(jì)算出的梯度,生成該卡片圖像的至少兩張?zhí)荻确植紙D,基于這兩張?zhí)荻确植紙D來(lái)確定卡片圖像是否模糊,可以準(zhǔn)確識(shí)別出所有的模糊圖像,檢測(cè)準(zhǔn)確度高。
圖2是根據(jù)一示例性實(shí)施例示出的另一種卡片圖像模糊檢測(cè)方法,該卡片圖像模糊檢測(cè)方法可以用于終端設(shè)備中,終端設(shè)備包括但不限于手機(jī)、平板電腦、筆記本電腦等;該方法還可以用于服務(wù)器中。本實(shí)施例將以身份證圖像為例進(jìn)行詳細(xì)說(shuō)明,容易知道,除了身份證圖像以外,卡片圖像還可以為有價(jià)文件(例如支票等)圖像、居住證圖像、信用卡圖像、護(hù)照?qǐng)D像或駕駛證圖像等。如圖2所示,該方法包括以下步驟。
在步驟S201中,獲取卡片圖像。
其中,卡片圖像的獲取方式包括但不限于以下方式:
采用圖像采集設(shè)備(例如攝像頭、數(shù)碼相機(jī)、掃描儀等)采集卡片圖像;
從存儲(chǔ)介質(zhì)或存儲(chǔ)設(shè)備中獲取卡片圖像。
該步驟S201中獲取到的卡片圖像可以為灰度圖像,也可以為彩色圖像(例如RGB格式的彩色圖像)。
容易知道,若卡片圖像是灰度圖像,則可以直接執(zhí)行后續(xù)步驟,若卡片圖像是彩色圖像,則需要先將其轉(zhuǎn)換為灰度圖像。
在步驟S202中,對(duì)該卡片圖像進(jìn)行邊緣檢測(cè),得到邊緣圖。
其中,邊緣檢測(cè)可以采用Canny邊緣檢測(cè)算法或Sobel算法等算法。
在步驟S203中,將邊緣圖進(jìn)行水平投影,得到投影直方圖。
在步驟S204中,基于該投影直方圖,確定卡片圖像中的各行字符區(qū)域。
對(duì)邊緣圖進(jìn)行水平投影后,字符所在行響應(yīng)高,空白區(qū)域響應(yīng)低,通過(guò)在投影直方圖上確定局部最小點(diǎn),即可確定每行字符的上下邊界,進(jìn)而確定出各行字符區(qū)域。
在本公開實(shí)施例中,字符包括但不限于漢字、數(shù)字、英文等各種形式的字符。
通過(guò)步驟S202~S204,即可確定出卡片圖像中的各行字符區(qū)域。
在步驟S205中,以設(shè)定大小的滑動(dòng)窗口在每行字符區(qū)域中滑動(dòng),得到多個(gè)窗口圖像,并為每個(gè)窗口圖像生成至少兩張?zhí)荻葓D,每張?zhí)荻葓D對(duì)應(yīng)不同的方向。
實(shí)現(xiàn)時(shí),該滑動(dòng)窗口的大小可以為字符的外接矩形的大小。
該至少兩個(gè)方向均勻分布在0~180°范圍內(nèi),優(yōu)選為4~8個(gè)方向,更優(yōu)選為4個(gè)方向,例如,0°、45°、90°和135°。
對(duì)于每個(gè)窗口圖像而言,都會(huì)計(jì)算出其中每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度值,從而得到至少兩張大小相同的梯度圖。在滑動(dòng)窗口遍歷完成之后,即可得到以行為單位的所有字符區(qū)域的梯度圖。
在步驟S206中,對(duì)每一張?zhí)荻葓D分別進(jìn)行歸一化處理。
該步驟S206可以包括:
分別確定每張?zhí)荻葓D的歸一化因子,該歸一化因子等于梯度圖內(nèi)的最大灰度值與最小灰度值的差值;
采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理。
進(jìn)一步地,采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理,采用如下方式:
將每張?zhí)荻葓D中各像素點(diǎn)的原梯度值除以所述歸一化因子,得到每個(gè)像素點(diǎn)的新的梯度值,從而得到新的梯度圖。
在步驟S207中,按照像素點(diǎn)的位置,將各個(gè)窗口圖像的同一方向的梯度圖合并。
按照像素點(diǎn)在卡片圖像中的位置,將各個(gè)窗口圖像的同一方向的梯度圖合并之后,就可以得到字符區(qū)域的梯度圖。
容易知道,在本實(shí)施例中,該步驟S206中合并的是進(jìn)行歸一化處理后得到的新的梯度圖。
在步驟S208中,將卡片圖像中的非字符區(qū)域的像素點(diǎn)的梯度值置0,得到至少兩張?zhí)荻确植紙D。
其中,每張?zhí)荻确植紙D對(duì)應(yīng)一個(gè)方向。
在步驟S209中,對(duì)每張?zhí)荻确植紙D分別進(jìn)行中值濾波。
在該步驟S209中,濾波半徑可以大于字符寬度,例如可以為字符寬度的2倍~4倍,優(yōu)選為2倍。
中值濾波是指將每一像素點(diǎn)的灰度值設(shè)置為以該像素點(diǎn)為中心,濾波半徑范圍內(nèi)的所有像素點(diǎn)的灰度值的中值,以去除因?yàn)樽址€條簡(jiǎn)單引起的計(jì)算誤差。
由于一般情況下,字符的線條比較復(fù)雜,因此梯度值會(huì)有多個(gè)方向的響應(yīng)。如果梯度值在所有方向響應(yīng)都很小,則可能出現(xiàn)了虛焦模糊;如果只在某一個(gè)方向上響應(yīng)很小,則可能是運(yùn)動(dòng)模糊或者該字符線條太簡(jiǎn)單,例如漢字“一”,但相鄰幾個(gè)字符同時(shí)屬于簡(jiǎn)單字符的概率較低,所以通過(guò)中值濾波即可去除字符線條過(guò)于簡(jiǎn)單帶來(lái)的計(jì)算誤差。
在步驟S210中,對(duì)每張?zhí)荻确植紙D分別進(jìn)行二值化處理,得到多張二值圖。
對(duì)于某個(gè)方向的梯度分布圖而言,該步驟S210可以包括:
將梯度分布圖中梯度值大于閾值的區(qū)域確定為清晰區(qū)域,梯度值小于或等于閾值的區(qū)域確定為模糊區(qū)域;其中,清晰區(qū)域可以標(biāo)記為1,模糊區(qū)域可以標(biāo)記為0。該閾值為經(jīng)驗(yàn)值,可以根據(jù)實(shí)際需要設(shè)定,例如,可以設(shè)置為50。
在步驟S211中,對(duì)每張二值圖進(jìn)行連通域分析,刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域。
刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域,即將該連通域?qū)?yīng)的像素點(diǎn)標(biāo)記為0。
在步驟S212中,合并多張二值圖中的模糊區(qū)域,得到清晰度分布圖。
對(duì)該梯度分布圖進(jìn)行連通域分析,刪除面積小于設(shè)定值的連通域并將刪除后的連通域?qū)?yīng)的區(qū)域標(biāo)記為0。
其中,設(shè)定值為經(jīng)驗(yàn)值,可以根據(jù)實(shí)際需要設(shè)置,例如,設(shè)置為證件圖像的面積的1/16。
在本實(shí)施例中,該步驟S212可以包括:
按像素點(diǎn)對(duì)各二值圖進(jìn)行求最小值操作,也就是說(shuō),在多個(gè)方向的二值圖中,某個(gè)像素點(diǎn)只要有一個(gè)方向是模糊的,則在清晰度分布圖中,該像素點(diǎn)也是模糊的。
在步驟S213中,采用所述清晰度分布圖,確定所述卡片圖像是否模糊。
若清晰度分布圖滿足以下條件中的至少一種,則確定卡片圖像模糊:
第一、清晰度分布圖中,模糊區(qū)域包含的像素點(diǎn)的數(shù)量大于設(shè)定值(即值為0的像素點(diǎn)的數(shù)量大于設(shè)定值);
第二、清晰度分布圖中,模糊區(qū)域和清晰區(qū)域的分布符合設(shè)定的分布模式。
該設(shè)定的分布模式可以通過(guò)對(duì)多張模糊圖片進(jìn)行統(tǒng)計(jì)得到。實(shí)現(xiàn)時(shí),可以將各種原因?qū)е碌哪:龍D片按照類型進(jìn)行分析,比如虛焦、運(yùn)動(dòng)模糊、整體模糊等,總結(jié)出模糊區(qū)域的各種分布模式。例如,該設(shè)定的分布模式包括中心清晰周圍模糊、左邊清晰右邊模糊、右邊清晰左邊模糊、上邊清晰下邊模糊或者下邊清晰上邊模糊。
實(shí)現(xiàn)時(shí),可以采用這兩種條件中的任意一種來(lái)判斷卡片圖像是否模糊,而為了提高判斷結(jié)果的準(zhǔn)確度,可以采用兩個(gè)條件的結(jié)合來(lái)判斷卡片圖像是否模糊。
進(jìn)一步地,當(dāng)采用的條件包含第二個(gè)條件時(shí),該方法還可以包括:
根據(jù)模糊區(qū)域和清晰區(qū)域的分布模式,確定卡片圖像的模糊原因。
模糊原因包括但不限于虛焦模糊、運(yùn)動(dòng)模糊等。
可選地,該方法還可以包括:
當(dāng)確定出卡片圖像模糊時(shí),輸出提示信息。
當(dāng)本實(shí)施例的方法應(yīng)用于終端設(shè)備時(shí),輸出提示信息的方式包括但不限于語(yǔ)音提示、燈光提示、文本提示等,以提示用戶卡片圖像被遮擋。
當(dāng)本實(shí)施例的方法應(yīng)用于服務(wù)器時(shí),輸出提示信息包括:向終端設(shè)備發(fā)送提示消息,該提示消息用于觸發(fā)終端設(shè)備輸出提示信息;或者,直接輸出提示信息,該提示信息用于提示用戶卡片圖像模糊。同樣地,直接輸出提示信息時(shí),輸出方式包括但不限于語(yǔ)音提示、燈光提示、文本提示等。
通過(guò)輸出提示信息,可以使得用戶快速了解到該卡片圖像模糊,可能無(wú)法通過(guò)驗(yàn)證,以便用戶即時(shí)更換,為用戶節(jié)省時(shí)間。
由于在進(jìn)行卡片圖像信息自動(dòng)識(shí)別時(shí),通常只需要識(shí)別出一些設(shè)定信息,因此,其只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否能夠檢測(cè)出字符等,也就是說(shuō),在進(jìn)行模糊檢測(cè)時(shí),只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否模糊,因此,在本公開實(shí)施例中,通過(guò)計(jì)算卡片圖像的字符區(qū)域中的每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度,并根據(jù)計(jì)算出的梯度,生成該卡片圖像的至少兩張?zhí)荻确植紙D,基于這兩張?zhí)荻确植紙D來(lái)確定卡片圖像是否模糊,可以準(zhǔn)確識(shí)別出所有的模糊圖像,檢測(cè)準(zhǔn)確度高。
圖3是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)裝置的框圖,參照?qǐng)D3,該裝置包括:圖像獲取模塊410、字符區(qū)域確定模塊420、梯度計(jì)算模塊430、生成模塊440和模糊確定模塊450。
其中,圖像獲取模塊410用于獲取卡片圖像。字符區(qū)域確定模塊420用于確定圖像獲取模塊410獲取到的卡片圖像中的各行字符區(qū)域。梯度計(jì)算模塊430用于計(jì)算每行字符區(qū)域中各像素點(diǎn)的梯度,梯度包括至少兩個(gè)方向的梯度。生成模塊440用于根據(jù)梯度計(jì)算模塊430計(jì)算出的梯度,生成卡片圖像的至少兩張?zhí)荻确植紙D,每張?zhí)荻确植紙D對(duì)應(yīng)至少兩個(gè)方向中的一個(gè)方向。模糊確定模塊450用于基于生成模塊440生成的至少兩張?zhí)荻确植紙D,確定卡片圖像是否模糊。
其中,卡片圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照?qǐng)D像或駕駛證圖像等。
進(jìn)一步地,圖像獲取模塊410獲取卡片圖像的方式可以參見步驟S101;字符區(qū)域確定模塊420進(jìn)行字符區(qū)域確定的方式可以參見步驟S102;梯度計(jì)算模塊430計(jì)算梯度的方式可以參見步驟S103;生成模塊440生成梯度分布圖的方式可以參見步驟S104;模糊確定模塊450確定卡片圖像是否模糊的方式可以參見步驟S105,在此省略詳細(xì)描述。
由于在進(jìn)行卡片圖像信息自動(dòng)識(shí)別時(shí),通常只需要識(shí)別出一些設(shè)定信息,因此,其只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否能夠檢測(cè)出字符等,也就是說(shuō),在進(jìn)行模糊檢測(cè)時(shí),只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否模糊,因此,在本公開實(shí)施例中,通過(guò)計(jì)算卡片圖像的字符區(qū)域中的每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度,并根據(jù)計(jì)算出的梯度,生成該卡片圖像的至少兩張?zhí)荻确植紙D,基于這兩張?zhí)荻确植紙D來(lái)確定卡片圖像是否模糊,可以準(zhǔn)確識(shí)別出所有的模糊圖像,檢測(cè)準(zhǔn)確度高。
圖4是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)的裝置的框圖,參照?qǐng)D4,該裝置包括:圖像獲取模塊510、字符區(qū)域確定模塊520、梯度計(jì)算模塊530、生成模塊540和模糊確定模塊550。
其中,圖像獲取模塊510用于獲取卡片圖像。字符區(qū)域確定模塊520用于對(duì)圖像獲取模塊510獲取到的卡片圖像進(jìn)行證件邊界檢測(cè)。梯度計(jì)算模塊530用于在字符區(qū)域確定模塊520檢測(cè)到的證件邊界的范圍內(nèi)進(jìn)行字符檢測(cè),得到字符區(qū)域。生成模塊540用于將梯度計(jì)算模塊530檢測(cè)出的字符區(qū)域與卡片圖像對(duì)應(yīng)的證件字符模板中的字符區(qū)域進(jìn)行對(duì)比,確定未被檢測(cè)出的字符區(qū)域。模糊確定模塊550用于根據(jù)生成模塊540確定出的未被檢測(cè)出的字符區(qū)域,生成檢測(cè)結(jié)果,該檢測(cè)結(jié)果用于表示卡片圖像是否可能被遮擋。
其中,卡片圖像包括但不限于身份證圖像、居住證圖像、信用卡圖像、有價(jià)文件(例如支票等)圖像、護(hù)照?qǐng)D像或駕駛證圖像等。
在本公開實(shí)施例的一種可能的實(shí)現(xiàn)方式中,字符區(qū)域確定模塊520,包括:
邊緣檢測(cè)子模塊521,用于對(duì)卡片圖像進(jìn)行邊緣檢測(cè),得到邊緣圖;
投影子模塊522,用于對(duì)邊緣檢測(cè)子模塊得到的邊緣圖進(jìn)行水平投影,得到投影直方圖;
區(qū)域確定子模塊523,用于根據(jù)投影子模塊得到的投影直方圖,確定卡片圖像中的各行字符區(qū)域。。
在一種可能的實(shí)現(xiàn)方式中,梯度計(jì)算模塊530,包括:
滑動(dòng)子模塊531,用于以設(shè)定大小的滑動(dòng)窗口在字符區(qū)域確定模塊確定出的每行字符區(qū)域中滑動(dòng),得到多個(gè)窗口圖像;
梯度圖生成子模塊532,用于計(jì)算每個(gè)窗口圖像中每個(gè)像素點(diǎn)的梯度,得到每個(gè)窗口圖像的至少兩張?zhí)荻葓D,每張?zhí)荻葘?duì)應(yīng)至少兩個(gè)方向中的一個(gè)方向;
歸一化子模塊533,用于對(duì)梯度圖生成子模塊得到的每張?zhí)荻葓D分別進(jìn)行歸一化處理。
在一種可能的實(shí)現(xiàn)方式中,歸一化子模塊533,用于分別確定每張?zhí)荻葓D的歸一化因子,歸一化因子等于梯度圖內(nèi)的最大灰度值與最小灰度值的差值;采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理。
進(jìn)一步地,歸一化子模塊533,用于將每張?zhí)荻葓D中各像素點(diǎn)的原梯度值除以歸一化因子,得到每個(gè)像素點(diǎn)的新的梯度值。
在一種可能的實(shí)現(xiàn)方式中,生成模塊540,用于按照像素點(diǎn)的位置,將各個(gè)滑動(dòng)窗口的同一方向的梯度圖合并;將卡片圖像中的非字符區(qū)域的像素點(diǎn)的梯度值置0,得到梯度分布圖。
可選地,裝置還包括:
濾波模塊560,用于對(duì)生成模塊540得到的每張?zhí)荻确植紙D分別進(jìn)行中值濾波,濾波半徑大于字符寬度。
在一種可能的實(shí)現(xiàn)方式中,模糊確定模塊550,包括:
二值化子模塊551,用于將每張?zhí)荻确植紙D中梯度值大于閾值的區(qū)域確定為清晰區(qū)域并將清晰區(qū)域中的像素點(diǎn)標(biāo)記為1,將每張?zhí)荻确植紙D中梯度值小于或等于閾值的區(qū)域確定為模糊區(qū)域,并將模糊區(qū)域中的像素點(diǎn)標(biāo)記為0,得到多張二值圖;
連通域分析子模塊552,用于對(duì)每張二值圖進(jìn)行連通域分析,刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域;
合并子模塊553,用于合并連通域分析子模塊處理后的多張二值圖中的模糊區(qū)域,得到清晰度分布圖;
模糊確定子模塊554,用于采用合并子模塊得到的清晰度分布圖,確定卡片圖像是否模糊。
其中,模糊確定子模塊554,用于當(dāng)合并子模塊得到的清晰度分布圖滿足以下條件中的至少一種時(shí),確定卡片圖像模糊:
清晰度分布圖中,模糊區(qū)域包含的像素點(diǎn)的數(shù)量大于設(shè)定值;
清晰度分布圖中,模糊區(qū)域和清晰區(qū)域的分布符合設(shè)定的分布模式。
可選地,裝置還包括:
輸出模塊570,用于當(dāng)檢測(cè)出卡片圖像模糊時(shí),輸出提示信息。
需要說(shuō)明的是,圖像獲取模塊510獲取卡片圖像的方式可以參見步驟S201;字符區(qū)域確定模塊520進(jìn)行字符區(qū)域確定的方式可以參見步驟S202-S204;梯度計(jì)算模塊530計(jì)算梯度的方式可以參見步驟S205-S206;生成模塊540生成梯度分布圖的方式可以參見步驟S208;濾波模塊560進(jìn)行中值濾波的方式可以參見步驟S209;模糊確定模塊550確定卡片圖像是否模糊的方式可以參見步驟S210-S213,在此省略詳細(xì)描述。
由于在進(jìn)行卡片圖像信息自動(dòng)識(shí)別時(shí),通常只需要識(shí)別出一些設(shè)定信息,因此,其只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否能夠檢測(cè)出字符等,也就是說(shuō),在進(jìn)行模糊檢測(cè)時(shí),只需要關(guān)注設(shè)定信息對(duì)應(yīng)的區(qū)域是否模糊,因此,在本公開實(shí)施例中,通過(guò)計(jì)算卡片圖像的字符區(qū)域中的每個(gè)像素點(diǎn)的至少兩個(gè)方向的梯度,并根據(jù)計(jì)算出的梯度,生成該卡片圖像的至少兩張?zhí)荻确植紙D,基于這兩張?zhí)荻确植紙D來(lái)確定卡片圖像是否模糊,可以準(zhǔn)確識(shí)別出所有的模糊圖像,檢測(cè)準(zhǔn)確度高。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
圖5是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)的裝置600的框圖。例如,裝置600可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
參照?qǐng)D5,裝置600可以包括以下一個(gè)或多個(gè)組件:處理組件602,存儲(chǔ)器604,電力組件606,多媒體組件608,音頻組件610,輸入/輸出(I/O)的接口612,傳感器組件614,以及通信組件616。
處理組件602通??刂蒲b置600的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件602可以包括一個(gè)或多個(gè)處理器620來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件602可以包括一個(gè)或多個(gè)模塊,便于處理組件602和其他組件之間的交互。例如,處理組件602可以包括多媒體模塊,以方便多媒體組件608和處理組件602之間的交互。
存儲(chǔ)器604被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置600的操作。這些數(shù)據(jù)的示例包括用于在裝置600上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器604可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
電力組件606為裝置600的各種組件提供電力。電力組件606可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置600生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件608包括在所述裝置600和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來(lái)自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件608包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置600處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件610被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件610包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置600處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器604或經(jīng)由通信組件616發(fā)送。在一些實(shí)施例中,音頻組件610還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
I/O接口612為處理組件602和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁(yè)按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件614包括一個(gè)或多個(gè)傳感器,用于為裝置600提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件614可以檢測(cè)到設(shè)備600的打開/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為裝置600的顯示器和小鍵盤,傳感器組件614還可以檢測(cè)裝置600或裝置600一個(gè)組件的位置改變,用戶與裝置600接觸的存在或不存在,裝置600方位或加速/減速和裝置600的溫度變化。傳感器組件614可以包括接近傳感器,被配置用來(lái)在沒有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件614還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件614還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件616被配置為便于裝置600和其他設(shè)備之間有線或無(wú)線方式的通信。裝置600可以接入基于通信標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件616經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件616還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置600可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器604,上述指令可由裝置600的處理器620執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由移動(dòng)終端的處理器執(zhí)行時(shí),使得移動(dòng)終端能夠執(zhí)行一種卡片圖像模糊檢測(cè)的方法,所述方法包括:
獲取卡片圖像;
確定卡片圖像中的各行字符區(qū)域;
計(jì)算每行字符區(qū)域中各像素點(diǎn)的梯度,梯度包括至少兩個(gè)方向的梯度;
根據(jù)計(jì)算出的梯度,生成卡片圖像的至少兩張?zhí)荻确植紙D,每張?zhí)荻确植紙D對(duì)應(yīng)至少兩個(gè)方向中的一個(gè)方向;
基于至少兩張?zhí)荻确植紙D,確定卡片圖像是否模糊。
在一種可能的實(shí)現(xiàn)方式中,確定卡片圖像中的各行字符區(qū)域,包括:
對(duì)卡片圖像進(jìn)行邊緣檢測(cè),得到邊緣圖;
將邊緣圖進(jìn)行水平投影,得到投影直方圖;
根據(jù)投影直方圖確定卡片圖像中的各行字符區(qū)域。
在本公開實(shí)施例的另一種可能的實(shí)現(xiàn)方式中,計(jì)算每行字符區(qū)域中各像素點(diǎn)的梯度,包括:
以設(shè)定大小的滑動(dòng)窗口在每行字符區(qū)域中滑動(dòng),得到多個(gè)窗口圖像;
計(jì)算每個(gè)窗口圖像中每個(gè)像素點(diǎn)的梯度,得到每個(gè)窗口圖像的至少兩張?zhí)荻葓D,每張?zhí)荻葘?duì)應(yīng)至少兩個(gè)方向中的一個(gè)方向;
對(duì)每張?zhí)荻葓D分別進(jìn)行歸一化處理。
進(jìn)一步地,對(duì)每個(gè)滑動(dòng)窗口對(duì)應(yīng)的每張?zhí)荻葓D分別進(jìn)行歸一化處理,包括:
分別確定每張?zhí)荻葓D的歸一化因子,歸一化因子等于梯度圖內(nèi)的最大灰度值與最小灰度值的差值;
采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理。
更進(jìn)一步地,采用確定出的歸一化因子對(duì)對(duì)應(yīng)的梯度圖進(jìn)行歸一化處理,可以采用如下方式:
將每張?zhí)荻葓D中各像素點(diǎn)的原梯度值除以歸一化因子,得到每個(gè)像素點(diǎn)的新的梯度值。
在又一種可能的實(shí)施方式中,根據(jù)計(jì)算出的梯度,生成卡片圖像的至少兩張?zhí)荻确植紙D,包括:
按照像素點(diǎn)的位置,將各個(gè)滑動(dòng)窗口的同一方向的梯度圖合并;
將卡片圖像中的非字符區(qū)域的像素點(diǎn)的梯度值置0,得到梯度分布圖。
優(yōu)選地,根據(jù)計(jì)算出的梯度,生成卡片圖像的至少兩張?zhí)荻确植紙D,還包括:
對(duì)每張?zhí)荻确植紙D分別進(jìn)行中值濾波,濾波半徑大于字符寬度。
在又一種可能的實(shí)施方式中,基于至少兩張?zhí)荻确植紙D,確定卡片圖像是否模糊,包括:
將每張?zhí)荻确植紙D中梯度值大于閾值的區(qū)域確定為清晰區(qū)域并將清晰區(qū)域中的像素點(diǎn)標(biāo)記為1,將每張?zhí)荻确植紙D中梯度值小于或等于閾值的區(qū)域確定為模糊區(qū)域,并將模糊區(qū)域中的像素點(diǎn)標(biāo)記為0,得到多張二值圖;
對(duì)每張二值圖進(jìn)行連通域分析,刪除包含像素點(diǎn)數(shù)量小于設(shè)定值的連通域;
合并多張二值圖中的模糊區(qū)域,得到清晰度分布圖;
采用清晰度分布圖,確定卡片圖像是否模糊。
進(jìn)一步地,采用清晰度分布圖,確定卡片圖像是否模糊,包括:
若清晰度分布圖滿足以下條件中的至少一種,則確定卡片圖像模糊:
清晰度分布圖中,模糊區(qū)域包含的像素點(diǎn)的數(shù)量大于設(shè)定值;
清晰度分布圖中,模糊區(qū)域和清晰區(qū)域的分布符合設(shè)定的分布模式。
可選地,方法還包括:
當(dāng)檢測(cè)出卡片圖像模糊時(shí),輸出提示信息。
可選地,卡片圖像包括身份證圖像、有價(jià)文件圖像、居住證圖像、信用卡圖像、護(hù)照?qǐng)D像或駕駛證圖像。
圖6是根據(jù)一示例性實(shí)施例示出的一種卡片圖像模糊檢測(cè)的裝置700的框圖。例如,裝置700可以被提供為一服務(wù)器。參照?qǐng)D6,裝置700包括處理組件722,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器732所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件722的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器732中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件722被配置為執(zhí)行指令,以執(zhí)行上述方法。
裝置700還可以包括一個(gè)電源組件726被配置為執(zhí)行裝置700的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口750被配置為將裝置700連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口758。裝置700可以操作基于存儲(chǔ)在存儲(chǔ)器732的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。