本發明涉及指紋識別技術領域,尤其涉及指紋圖像的條紋噪聲消除方法。
背景技術:
目前,手機指紋識別系統應用越來越廣泛,使用也越來越方便,然而,隨著對手機指紋識別系統的應用的深入,用戶對指紋識別指標的需求越來越高,但是由于硬件等各方面的原因,指紋圖像在采集過程中普遍存在各種各樣的噪聲,該噪聲的存在對指紋識別存在一定的影響,綜上所述,現有技術中存在對指紋圖像識別的過程中存在噪聲導致影響指紋識別的問題。
技術實現要素:
本發明的目的在于提供指紋圖像的條紋噪聲消除方法,旨在解決現有技術中存在對指紋圖像識別的過程中存在噪聲導致影響指紋識別的問題。
本發明是這樣實現的,提供一種指紋圖像的條紋噪聲消除方法,所述條紋噪聲消除方法包括以下步驟:
獲取指紋圖像,并對所述指紋圖像進行圖像增強;
根據經過圖像增強后的指紋圖像的像素獲取條紋噪聲的位置;
將經過圖像增強后的指紋圖像劃分為多個不重疊的指紋圖像塊,并獲取每個指紋圖像塊的方向場;
根據所述條紋噪聲的位置和所述每個指紋圖像塊的方向場對條紋噪聲進行插值運算以消除條紋噪聲。
本發明實施例提供指紋圖像的條紋噪聲消除方法,獲取指紋圖像,并對指紋圖像進行圖像增強,根據經過圖像增強后的指紋圖像的像素獲取條紋噪聲的位置以及每個指紋圖像塊的方向場,并根據條紋噪聲的位置和每個指紋圖像塊的方向場對條紋噪聲進行插值運算以消除條紋噪聲,可以有效消除指紋圖像存在的條紋噪聲,從而提高指紋識別系統的各種指標,提高指紋圖像識別的準確率。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法的流程圖;
圖2是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S101中獲取的指紋圖像示意圖;
圖3是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S101中對指紋圖像進行圖像增強后的圖像示意圖;
圖4是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S102的一種實施方式流程圖;
圖5是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S102的另一種實施方式流程圖;
圖6是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S103的流程圖;
圖7是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S103的方向場示意圖;
圖8是本發明一種實施例提供的一種指紋圖像的條紋噪聲消除方法中步驟S104的去除條紋噪聲后的圖像示意圖;
圖9a是另一幅指紋圖像示意圖;
圖9b是對圖9a采用本發明條紋噪聲消除方法后指紋圖像示意圖;
圖10a是另一幅指紋圖像示意圖;
圖10b是對圖10a采用本發明條紋噪聲消除方法后指紋圖像示意圖;
圖11a是另一幅指紋圖像示意圖;
圖11b是對圖11a采用本發明條紋噪聲消除方法后指紋圖像示意圖;
圖12a是另一幅指紋圖像示意圖;
圖12b是對圖12a采用本發明條紋噪聲消除方法后指紋圖像示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
為了說明本發明的技術方案,下面通過具體實施例來進行說明。
本發明實施例提供一種指紋圖像的條紋噪聲消除方法,如圖1所示,條紋噪聲消除方法包括以下步驟:
步驟S101.獲取指紋圖像,并對指紋圖像進行圖像增強。
在步驟S101中,具體的,采集帶有條紋噪聲的指紋圖像,例如,可以采用分辨率為112*88,如圖2所示,可見指紋圖像存在許多豎條紋。
在步驟S101中,可選的,可以采用拉普拉斯濾波器進行圖像增強,優選的,設置濾波器的模板為(3*3):
[-1,-1,-1;-1,9,-1;-1,-1,-1];
將帶條紋噪聲的指紋圖像經過高斯增強濾波器后得到增強圖像,如圖3所示,指紋的條紋噪聲顯得更加明顯。
步驟S102.根據經過圖像增強后的指紋圖像的像素獲取條紋噪聲的位置。
在步驟S102中,可選的,通過獲取指紋圖像的像素矩陣,對像素矩陣進行投影變換以獲取條紋噪聲的位置。
具體的,如圖4所示,步驟S102包括以下步驟:
步驟S1021.獲取以指紋圖像中每個像素點為中心的3×3矩陣,并根據3×3矩陣對每個像素點進行標記,其中,像素點不包括邊界像素點。
在步驟S1021中,具體的,采集指紋圖像中的每個像素,假設P4為當前掃描像素點,P3為P4像素左邊的像素點,P5為P4像素右邊的像素點,則以P4為中心的3×3矩陣中各位置關系為:
P0 P1 P2
P3 P4 P5
P6 P7 P8
在步驟S1021中,根據3×3矩陣對像素點進行標記,具體包括:
當檢測到某個像素點的3×3矩陣中第一列和第三列像素點的像素均大于與其相鄰的第二列像素點的像素與第二預設值的和時,對該像素點進行標記。
具體的,去掉邊界像素點后掃描真個指紋圖像,如果同時滿足以下條件:
P0>P1+K,P2>P1+K;
P3>P4+K,P5>P4+K;
P6>P7+K,P8>P7+K;
其中K為經驗值,即第二預設值,則標記該像素點為255,如果不滿足則標記該像素點為0。
步驟S1022.將經過標記后的像素點組成的圖像向X軸進行投影以進行投影變換,并在標記后的像素點組成的圖像在X軸上的投影寬度大于第一預設值時,判定位于X軸上的投影坐標位置存在豎條紋。
在步驟S1022中,具體的,將重新標記像素點的圖像進行投影變換,垂直投影到投影坐標系中的X軸上,投影數組為projecty[width],width為指紋圖像的寬度。如果projecty[x]>h,則認為橫坐標為x的位置存在豎條紋,否則把projecty[x]設為0,其中h為經驗值,即第一預設值。
進一步的,如圖5所示,在步驟S1022中判定位于X軸上的投影坐標位置存在豎條紋之后還包括:
步驟S1023.根據標記后的像素點組成的圖像在X軸上的投影寬度獲取最大投影寬度。
步驟S1024.判斷標記后的像素點組成的圖像在X軸上的投影寬度是否大于最大投影寬度與第三預設值的乘積,是,則進入步驟S1025,保留投影所對應的位于X軸上的投影坐標的豎條紋,否,則進入步驟S1026,刪除投影所對應的位于X軸上的投影坐標的豎條紋。
上述步驟S1023和步驟S1024的目的是為了去掉不明顯的條紋,具體的,遍歷projecty[x],找出最大投影值maxproject,再依次遍歷projecty[x],如果projecty[x]>a*maxproject則保留projecty[x],否則把projecty[x]設為0。a為經驗值,即第三預設值。
經過上述步驟S1021至步驟S1024,可以根據projecty[x]的值確定豎條紋噪聲的位置,即projecty[x]>0時所得到的噪聲位置。
步驟S103.將經過圖像增強后的指紋圖像劃分為多個不重疊的指紋圖像塊,并獲取每個指紋圖像塊的方向場。
在步驟S103中,將指紋圖像I分塊為一系列不重疊的w*w的指紋圖像塊,并獲取每個指紋圖像塊的平方梯度向量,再根據每個指紋圖像塊的平方梯度向量獲取方向場。
在步驟S103中,具體的,如圖6所示,獲取每個指紋圖像塊的方向場包括:
步驟S1031.獲取每個指紋圖像塊內每個像素點的水平梯度和垂直梯度。
在步驟S1031中,具體的,通過以下公式獲取每個指紋圖像塊內每個像素點的水平梯度:
vx(x,y)=2*(P5-P3)+(P2-P0)+(P8-P6);
通過以下公式獲取每個指紋圖像塊內每個像素點的垂直梯度:
vy(x,y)=2*(P7-P1)+(P6-P0)+(P8-P2);
其中,vx(x,y)為每個像素點的水平梯度,vy(x,y)為每個像素點的垂直梯度,每個像素點與其周圍的像素點形成以該像素點為中心的3×3矩陣,P0為位于3×3矩陣中的第一行第一列的像素點的像素,P1為位于3×3矩陣中的第一行第二列的像素點的像素,P2為位于3×3矩陣中的第一行第三列的像素點的像素,P4為該像素點的像素,P3為位于3×3矩陣中的第二行第一列的像素點的像素,P5為位于3×3矩陣中的第二行第二列的像素點的像素,P6為位于3×3矩陣中的第三行第一列的像素點的像素,P7為位于3×3矩陣中的第三行第二列的像素點的像素,P8為位于3×3矩陣中的第三行第三列的像素點的像素。
步驟S1032.根據水平梯度和垂直梯度獲取每個指紋圖像塊的平方梯度向量。
在步驟S1031中,具體的,根據以下公式獲取每個指紋圖像塊的塊梯度向量:
根據以下公式獲取每個指紋圖像塊的平方梯度向量:
GX=2*dx*dy;
GY=dx2-dy2。
步驟S1033.根據每個指紋圖像塊的平方梯度向量獲取每個指紋圖像塊的方向場。
在步驟S1031中,具體的,獲取每個指紋圖像塊的平方梯度向量的絕對值UGX,UGY;
根據以下公式獲取每個指紋圖像塊的方向場:
如果UGY>UGX并且GY<0,pDirection=0;
如果UGY<=UGX并且GX<0,pDirection=1;
如果UGY>UGX并且GY>=0,pDirection=2;
如果UGY<=UGX并且GX>=0,pDirection=3;
其中,pDirection為方向場,當pDirection=0時,方向場為0度,當pDirection=1時,方向場為45度,當pDirection=2時,方向場為90度,當pDirection=3時,方向場為135度。
如圖7所示,為獲取指紋圖像的方向場。
步驟S104.根據條紋噪聲的位置和每個指紋圖像塊的方向場對條紋噪聲進行插值運算以消除條紋噪聲。
在步驟S104中,通過上述步驟獲得的方向場對條紋噪聲進行差值,具體的,
當pDirection等于0或者2,并且P4<P3和P4<P5時,
P4=(P3+P5)/2;
當pDirection等于1,并且P4<P2和P4<P6時,
P4=(P2+P6)/2;
當pDirection等于3,并且P4<P0和P4<P8時,
P4=(P0+P8)/2。
如圖8所述,是經過步驟S104的去除條紋噪聲后的圖像示意圖。
本發明實施例提供指紋圖像的條紋噪聲消除方法,獲取指紋圖像,并對指紋圖像進行圖像增強,根據經過圖像增強后的指紋圖像的像素獲取條紋噪聲的位置以及每個指紋圖像塊的方向場,并根據條紋噪聲的位置和每個指紋圖像塊的方向場對條紋噪聲進行插值運算以消除條紋噪聲,可以有效消除指紋圖像存在的條紋噪聲,從而提高指紋識別系統的各種指標,提高指紋圖像識別的準確率。
基于上述提供的方法,本發明對多張帶有條紋噪聲指紋圖像進行測試比較:
如圖9a,10a,11a,12a,都是帶有條紋噪聲的指紋圖像,圖9b,10b,11b,12b是與其對應的,經過本發明方法消除條紋噪聲后的圖像,通過比較可以看到條紋本方法能有有效的消除條紋噪聲。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下做出若干等同替代或明顯變型,而且性能或用途相同,都應當視為屬于本發明由所提交的權利要求書確定的專利保護范圍。