999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于透視變換的手機身份證字符分割算法

2018-07-25 12:05:34李志杰袁鵬泰李博涵
計算機技術與發展 2018年7期

李志杰,袁鵬泰,李博涵

(1.南京航空航天大學 計算機科學與技術學院,江蘇 南京 211106;2.江蘇易圖地理信息科技股份有限公司,江蘇 揚州 225009)

0 引 言

我國的居民身份證記載了每位公民的個人基本信息,包括姓名、性別、民族、出生年月日、住址和唯一的身份證編號。不僅是基于社會治安的需要和個人權益的保障,而且在人才招聘等場合也需要輸入公民身份證信息。

隨著攜帶高清攝像頭的安卓手機越來越普及,研究采用基于帶攝像頭的安卓手機拍攝圖像的身份證識別系統,可讓使用成本更低、運用更加靈活。

數字圖像處理和模式識別技術在安卓手機上應用廣泛,其中就包括身份證的自動識別。這使得身份證的信息獲取從人工識別轉化為自動識別。目前身份證信息大多需要人工錄入和手工填寫,效率十分低下,錄入和填寫信息時可能發生錯誤,而且長時間的識別也會使人眼疲勞。所以,該方法已經不適應當今智能手機等領域飛速發展的現狀。研究安卓手機如何自動讀取身份證信息是十分必要的,不僅可以有效克服人工識別的局限性,而且具有識別效率高、識別準確度高的優點。

在身份證識別系統[1]中,采集到的含有身份證的圖像很可能會同時存在以下一種或幾種問題:除了身份證之外的背景與身份證的邊緣不明顯;身份證不是一個寬和高比例固定的矩形;身份證上有反光等光照影響;采集圖像上有噪聲。從復雜背景中分割出無畸變的身份證字符圖像[2-4]是關鍵環節,決定了身份證識別系統的識別速度與正確率。對此,文中提出了一套完整的身份證圖像分割和字符分割方法。

1 預處理

通過安卓手機掃描采集到的圖像是像素1 024*768的三通道圖像,每個像素的R值、G值、B值相等。其中,R值、G值、B值分別為三通道圖像中像素的紅、綠、藍分量值。掃描要求:身份證四條外圍線的位置分別在圖像上1/5內、下1/5內、左1/5內、右1/5內。

首先,對采集圖像按式1計算各像素的灰度值GrayValue,目標是將采集圖像灰度化:

GrayValue=(306*R+601*G+117*B)?10

(1)

其次,為了加快處理速度,采用線性插值將灰度圖像縮放成像素341*256的圖像,即縮放比例為3∶1。然后為了減小噪聲的干擾,對縮放后的灰度圖像進行中值濾波[5-6]。最后對圖像進行自適應閾值Canny邊緣檢測[7-8]。

為了降低硬件資源的消耗,該設計采用線性插值法進行圖像縮放。線性插值法就是根據待插值位置周圍最近的幾個像素來計算插值,對于平面圖像來說,共有四點。其中插值計算公式為:

f(i+u,i+v)=(1-u)(1-v)f(i,j)+

(1-u)vf(i,j+1)+

u(1-v)f(i+1,j)+

uvf(i+1,j+1)

(2)

其中,i、j均為非負整數,分別表示像素的橫縱坐標位置;u、v∈[0,1]分別表示插值位置與(i,j)的相對位置;f(i,j)表示圖像(i,j)位置的像素值。

中值濾波(median filter)是一種基于排序統計理論的能有效抑制噪聲的非線性信號處理技術。它是一種常用的非線性平滑濾波和鄰域運算,類似于卷積,但不是加權求和計算,基本原理是把鄰域中的像素按灰度等級進行排序,然后選擇該組的中間值作為輸出像素值,讓周圍的像素值不變,從而消除孤立的噪聲點。鄰域通常為3*3,5*5區域,可以是不同的形狀,如線狀、圓形、十字形、圓環形等。

中值濾波對脈沖噪聲有良好的濾除作用,特別是在濾除噪聲的同時,能夠保護信號的邊緣,使之不被模糊。中值濾波的算法比較簡單,也易于用硬件實現。這些優良特性是線性濾波方法不具有的。中值濾波在圖像處理中常用于保護邊緣信息,是經典的平滑噪聲的方法。

在眾多經典邊緣檢測[9]方法中選擇Canny邊緣檢測算子,是因為相比傳統的微分算子,如Robets、Prewwit、Sobel、Laplace、Log等,基于最優化算法的Canny邊緣檢測算子具有較好的信噪比和檢測精度,對傳統單閾值法提出了改進,根據圖像的梯度直方圖分別選取高低兩閾值。但傳統Canny算子由于使用基于全圖的固定閾值選取方法,容易丟失對比度較低的弱邊緣。因此有相關學者提出了一種自適應閾值Canny邊緣檢測方法。

該方法[10]先利用圖像的梯度方差作為判據對圖像進行分塊,圖像上點(i,j)處的梯度幅值為:

(3)

其中:

(4)

設所選的高斯函數G為:

(5)

其中,σ為高斯濾波器參數;f(x,y)為原圖像函數。

繼而對各子分塊采用最大類間方差法[11]分別求得最佳閾值。假設一幅圖像灰度值分為0~(l-1)級,灰度值i的像素數為n,則總像素數N及各像素值概率Pi為:

(6)

然后用一整數t將圖像中的像素按灰度級劃分成兩類:C0={0,1,…,t}和C1={t+1,t+2,…,l-1}。

則C0產生的概率ω0及均值μ0為:

(7)

(8)

C1產生的概率ω1及均值μ1為:

(9)

(10)

其中,μ為整體圖像灰度的統計均值。

(11)

由上可得類間方差η及最佳閾值t*。

(12)

(13)

其中:

(14)

最后采用插值算法得到最后的自適應閾值分割矩陣。效果見圖1。

圖1 Canny邊緣檢測圖

2 求身份證四個頂點坐標

2.1 Hough變換找直線

對Canny邊緣檢測后的圖像使用概率Hough變換[12-13]。在Hough變換中,圖形邊緣M每個像素點(xi,yi)被映射到一個代表正弦曲線投票模式的Nθ×Nρ的累加器矩陣,它描繪了一個標準的(θ,ρ)參數平面,代表所有可能通過該像素點的直線,如式15:

ρ=xcosθ+ysinθ

(15)

其中,ρ為離原點的距離;θ為直線的方向。

對應于同一條直線上的所有像素點的正弦曲線在參數空間中交于理想的一個點,這在累加器A(ρ,θ)矩陣中會達到一個峰值。

概率Hough變換采用空間映射和直線檢測交替進行的方式,其基本思想是在整個圖像空間中隨機取點映射,每次映射后檢測累加器A(ρ,θ)對應點的數值,當檢測到超過特定閾值的直線時,將位于該直線上的所有候選邊緣點刪除,從而有效地縮小了搜索和計算空間[14]。

對Hough變換得到的直線集合,因為身份證最外圍的四條邊會出現同一條直線產生斷裂的情況,為了接下來找出這四條線的準確性,需要分別對位置在圖像上1/5內、下1/5內、左1/5內、右1/5內的直線進行同一條直線的連接處理,具體為:

(1)當一條直線L1在圖像右1/5處時,若一條直線L2滿足:L2傾斜角度與L1夾角在5度以內;兩條直線列間距在3個像素點以內;兩條直線行間距在30個像素點以內;兩條直線的長度均大于7個像素點,則將兩條直線連在一起。

(2)當一條直線L3在圖像左1/5處時,若一條直線L4滿足:L4傾斜角度與L3夾角在5度以內;兩條直線列間距在3個像素點以內;兩條直線行間距在30個像素點以內;兩條直線的長度均大于7個像素點,則將兩條直線連在一起。

(3)當一條直線L5在圖像上1/5處時,若一條直線L6滿足:L5傾斜角度與L6夾角在5度以內;兩條直線行間距在3個像素點以內;兩條直線列間距在30個像素點以內;兩條直線的長度均大于7個像素點,則將兩條直線連在一起。

(4)當一條直線L7在圖像下1/5處時,若一條直線L8滿足:L7傾斜角度與L8夾角在5度以內;兩條直線行間距在3個像素點以內;兩條直線列間距在30個像素點以內;兩條直線的長度均大于7個像素點,則將兩條直線連在一起。

其中,直線兩個端點的坐標已知,分別為(x1,y1)和(x2,y2),由直線公式y=kx+b求得直線的斜率k:

k=(y2-y1)/(x2-x1)

(16)

然后由反正切函數公式和直線斜率的絕對值求直線的傾斜角度θ:

θ=arctan(|k|)

(17)

最后直線長度dist由式17可得:

(18)

2.2 求身份證四條外圍邊及其交點

在連接后的直線集合中,需要找到身份證外圍的四條直線。由找到的四條直線求出在預處理后圖像中身份證的四個頂點坐標,由縮放比例可得在采集圖像中身份證四個頂點的坐標,過程如下:

(1)分別在預處理后圖像的上1/5和下1/5內,找到與水平的夾角在0度至20度區間的最長線;

(2)分別在預處理后圖像的左1/5和右1/5內,找到與豎直線相交角度在0度到20度區間的最長線;

(3)對求得的四條直線求交點。假設兩條直線方程分別為y=k1x+b1和y=k2x+b2,則交點坐標為:((b2-b1)/(k1-k2),(k1b2-k2b1)/(k1-k2))。

3 透視變換

以矩形區域的四個角點為例,經過透視變換后A'→A,B'→B,C'→C,D'→D,矩形的形狀發生改變。透視投影實質上就是P'平面上的每一點在視角的作用下投影到P平面的過程。若將P平面定義為物體的正視圖平面,那么透視變換就是透視投影平面上的每一個像素點變換到正視圖上對應的像素點的過程。為了實現透視畸變的校正,只需要找到P平面上的點和物體正視圖上對應點的變換公式。

二維圖像透視變化公式可以表示為:

(19)

(20)

其中,(x,y)為投影圖像的坐標;(u,v)為正視圖上的坐標;a,b,c,d,e,f,g,h為畸變參數。

由透視變換[15-16]和采集圖像中身份證四個頂點的坐標,在采集圖像中分割出寬和高比例在1.49~1.69區間的無背景身份證圖像,并且解決圖像因采集而產生的圖像畸變問題。

4 目標信息區域分割

根據姓名、性別、身份證號三個信息區域在身份證上位置固定,利用比例坐標,在以上步驟分割出的無背景身份證圖像上,分割出含有以上三個信息的矩形區域圖像,分割后的結果見圖2~4。

圖2 姓名信息區域

圖3 性別信息區域

5 字符分割

以姓名信息區域的字符分割為例,其他部分的字符分割[17-18]同理可得。

對分割出來的采集圖像上的姓名區域,先灰度化,再大津閾值二值化。

對二值化后的姓名區域圖像進行投影法字符分割,將各個字符分割開,具體過程如下:

(1)先從上到下統計每行像素值為0的像素點個數,即統計每行黑色像素點個數,找到個數為0的行的行號(這一行在圖像中的第幾行),即找到一行全是白色像素點的行號,如果此時出現連續個數為0的行,則找出連續行號的中間值,由此得到分割行的行號,即得到下一步圖像水平分割的分割點;

(2)在姓名區域彩色圖像上進行行分割;

(3)對行分割后的二值圖,從左到右統計每列像素值為0的像素點個數,找到個數為0的列,如果此時出現連續個數為0的列的列號(這一列為圖像中的第幾列),則找出連續列號的中間值,由此得到分割列的列號;

(4)在行分割后的姓名區域彩色圖像上進行列分割,這樣就可以得到姓名區域分割出來的彩色字符圖像。分割后的字符圖像見圖5。

值得注意的是,對于類似“劉”、“小”、“川”這樣有內部間隔即容易被分割開的漢字,可以利用字內間距比字間間距小和漢字字體大小固定設定閾值進行分割。

圖5 姓名區域分割出的字符圖像

6 實驗結果與分析

實驗是在帶有1 600萬像素攝像的Android手機上進行。使用JNI機制,采用C語言進行算法的程序化,將寫好的C源文件用ndk編譯成so庫以供Java調用。

實驗使用掃描身份證的方法進行識別,并且在C源文件中統計身份證字符分割部分所耗費的時間,顯示在AndroidStudio中。

一共進行了50組實驗。因為漢字分割是字符分割的重難點,所以用手機掃描了50組不一樣的身份證,50組姓名中包含了各類漢字,比如漢字是上下結構、左右結構等種類。統計數據得:完成一次身份證字符分割,平均耗費時間為0.4 s,可以看出基于透視變換的手機身份證字符分割速度很快;實驗中字符分割基本正確,正確率達到99%。

7 結束語

針對安卓手機上復雜背景中的身份證字符分割,設計了一種基于透視變換的算法,并設計了一種目標區域內連接同一條直線的方法。實驗結果表明,該方法具有較為良好的分割能力。另一方面,該方法對全白背景中的身份證字符分割效果較差,還需要進一步的探索。

主站蜘蛛池模板: 国产成人精品第一区二区| 刘亦菲一区二区在线观看| 91口爆吞精国产对白第三集 | 亚洲看片网| 青青青国产视频手机| 美女国内精品自产拍在线播放 | 日本国产在线| 色综合a怡红院怡红院首页| 亚洲无码视频一区二区三区 | 久久精品中文字幕少妇| 国产国模一区二区三区四区| 91免费在线看| 日本午夜影院| 毛片基地美国正在播放亚洲 | 国产精品密蕾丝视频| 欧美日本在线观看| 日韩欧美中文字幕一本| 毛片网站在线看| 1级黄色毛片| 亚洲三级色| 亚洲精品福利视频| 亚洲精品无码AⅤ片青青在线观看| 成人福利一区二区视频在线| 丝袜高跟美脚国产1区| 人妻免费无码不卡视频| 国产精品无码翘臀在线看纯欲| 中文字幕无码中文字幕有码在线| 国产h视频在线观看视频| 亚洲女同一区二区| 久久久久国产一级毛片高清板| 亚洲欧美日韩另类| 日韩欧美国产另类| 亚洲不卡影院| 精品自窥自偷在线看| 欧洲在线免费视频| 国产精品亚洲一区二区三区z| 无码中文AⅤ在线观看| 沈阳少妇高潮在线| 欧美日韩亚洲国产| 亚洲天堂视频网| 日韩区欧美区| 国产jizz| a在线亚洲男人的天堂试看| 国产成人三级| 91成人在线观看视频| 欧美午夜理伦三级在线观看| 国产精品嫩草影院av| 99久久精品久久久久久婷婷| 国产精品嫩草影院av| 久久综合成人| 91破解版在线亚洲| 中文字幕亚洲电影| 东京热av无码电影一区二区| 精品91自产拍在线| 精品视频一区二区三区在线播| 婷婷久久综合九色综合88| 天天综合网色| 国产久操视频| 三区在线视频| 国产精品深爱在线| 一级高清毛片免费a级高清毛片| 波多野结衣无码视频在线观看| 综合社区亚洲熟妇p| 久久综合婷婷| 香蕉久久永久视频| 无码国产偷倩在线播放老年人| 全部免费特黄特色大片视频| 一级全免费视频播放| 嫩草国产在线| 国产精品久久国产精麻豆99网站| 午夜在线不卡| 国产嫖妓91东北老熟女久久一| 欧美日韩第三页| 四虎成人精品| 国产亚洲日韩av在线| 国产中文在线亚洲精品官网| 亚洲人妖在线| 亚洲成a人在线观看| 色悠久久综合| 欧美一级高清片久久99| 久久亚洲国产一区二区| 国产成人h在线观看网站站|