一種二維碼的識別方法及終端的製作方法
2023-10-09 06:12:59 1
一種二維碼的識別方法及終端的製作方法
【專利摘要】本發明的實施例提供一種二維碼的識別方法及終端,涉及電子【技術領域】,允許終端在更加寬鬆的條件下進行一個或多個二維碼的識別,提高了二維碼在複雜場景中的檢測識別率。該方案包括:採集包含二維碼的待識別圖像;使用預置的分類器提取所述待識別圖像中的FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP;根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
【專利說明】—種二維碼的識別方法及終端
【技術領域】
[0001]本發明涉及電子【技術領域】,尤其涉及一種二維碼的識別方法及終端。
【背景技術】
[0002]二維碼(Two-dimens1nal code),是用特定的幾何圖形按一定規律在二維方向上分布的黑白相間的圖形,它使用若干個與二進位相對應的幾何形體來表示文字數值信息,通過終端自動識讀以實現信息自動處理。與一維碼相比,二維碼是一種比一維碼更高級的條碼格式,二維碼在水平和垂直方向都可以存儲信息,而且二維碼能存儲漢字、數字和圖片等信息,因此二維碼的應用領域要廣得多。
[0003]QR(Quick Response)碼是目前廣泛應用的一種二維碼,它具有識讀速度快、數據密度大、佔用空間小的優勢,能有效地表示中國漢字、日本文字。每一個QR碼中包含有三個FIP (finder pattern,位置探測圖形),且分別位於正方形的三個頂點上,像「回」字的正方圖案,這3個FIP是供終端的解碼軟體作定位用的圖案。在現有技術中,終端通過取景框獲取待識別圖像後,在該圖像中根據二維碼特有的黑白跳變規律搜索待識別圖像內的FIP,當找到三個FIP後即定位了 QR碼的位置,進而通過終端的解碼軟體讀取該QR碼的位置內的數據信息。
[0004]然而,在上述二維碼的識別過程中,要求終端的持有者在掃描二維碼時將取景框對準待識別圖像,並且要求該待識別圖像中不包含二維碼以外的其他內容,一旦在識別二維碼時終端不能滿足上述要求(即在複雜場景中),便無法正確的識別上述待識別圖像中的FIP,進而導致二維碼的定位和識別失敗。
【發明內容】
[0005]本發明的實施例提供一種二維碼的識別方法及終端,允許終端在更加寬鬆的條件下進行一個或多個二維碼的識別,提高了二維碼在複雜場景中的檢測識別率。
[0006]為達到上述目的,本發明的實施例採用如下技術方案:
[0007]第一方面,本發明的實施例提供一種二維碼的識別方法,包括:
[0008]採集包含二維碼的待識別圖像;
[0009]使用預置的分類器提取所述待識別圖像中的位置探測圖形FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;
[0010]根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,並對變形的二維碼校正,以便於識別所述二維碼的位置內的二維碼。
[0011]結合第一方面,在第一方面的第一種可能的實現方式中,所述使用預置的分類器提取所述待識別圖像中的FIP,包括:
[0012]提取所述待識別圖像中的特徵描述子;
[0013]根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
[0014]結合第一方面,在第一方面的第二種可能的實現方式中,所述根據所述FIP確定所述二維碼的四個頂點,包括:
[0015]根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;
[0016]根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
[0017]結合前述的第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,所述確定每個FIP群組所指示的二維碼的四個頂點的位置,包括:
[0018]檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;
[0019]根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
[0020]結合第一方面,在第一方面的第四種可能的實現方式中,在所述確定所述待識別圖像中的二維碼的位置之後,還包括:
[0021]根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;
[0022]根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
[0023]結合前述的第一方面的第四種可能的實現方式,在第一方面的第五種可能的實現方式中,在所述確定校正後所述二維碼的灰度圖像之後,還包括:
[0024]若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像。
[0025]結合第一方面,在第一方面的第六種可能的實現方式中,在所述採集包含二維碼的待識別圖像之前,還包括:
[0026]在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;
[0027]提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;
[0028]使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
[0029]第二方面,本發明的實施例提供一種終端,包括:
[0030]採集單元,用於採集包含二維碼的待識別圖像;
[0031]提取單元,用於使用預置的分類器提取所述採集單元中的待識別圖像中的位置探測圖形FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;
[0032]識別單元,用於根據所述提取單元中的FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
[0033]結合第二方面,在第二方面的第一種可能的實現方式中,
[0034]所述提取單元,具體用於提取所述待識別圖像中的特徵描述子;根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
[0035]結合第二方面,在第二方面的第二種可能的實現方式中,
[0036]所述識別單元,具體用於根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
[0037]結合前述的第二方面的第二種可能的實現方式,在第二方面的第三種可能的實現方式中,
[0038]所述識別單元,具體用於檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
[0039]結合第二方面,在第二方面的第四種可能的實現方式中,所述終端還包括校正單元,其中,
[0040]所述校正單元,用於根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
[0041]結合前述的第二方面的第四種可能的實現方式,在第二方面的第五種可能的實現方式中,所述終端還包括過濾單元,其中,
[0042]所述過濾單元,用於若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像。
[0043]結合第二方面,在第二方面的第六種可能的實現方式中,
[0044]所述提取單元,還用於在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
[0045]本發明的實施例提供一種二維碼的識別方法及終端,基於目標檢測原理使用分類器對採集到的待識別圖像提取FIP,進行對二維碼的初步定位,進而根據所述FIP確定二維碼的四個頂點,以精確定位該待識別圖像中的二維碼的位置,由於本方案採用的目標檢測原理可以更方便的提取待識別圖像提取FIP,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單,終端才能通過二維碼的黑白跳變規律識別出FIP,所以本發明可以允許終端在更加寬鬆的條件下採集含有一個或多個二維碼的待識別圖像,另外,由於本發明在提取FIP後,根據FIP對二維碼的位置進行兩步法的精確定位,進一步提高了二維碼在複雜場景中的檢測識別率。
【專利附圖】
【附圖說明】
[0046]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0047]圖1為本發明實施例提供的一種二維碼的識別方法的示意圖一;
[0048]圖2為二維碼中FIP的示意圖;
[0049]圖3為本發明實施例提供的一種二維碼的識別方法的示意圖二 ;
[0050]圖4為本發明中計算二維碼頂點位置的示意圖;
[0051]圖5為本發明實施例提供的一種終端的硬體示意圖;
[0052]圖6為本發明實施例提供的一種終端的結構示意圖一;
[0053]圖7為本發明實施例提供的一種終端的結構示意圖二 ;
[0054]圖8為本發明實施例提供的一種終端的結構示意圖三。
【具體實施方式】
[0055]以下描述中,為了說明而不是為了限定,提出了諸如特定系統結構、接口、技術之類的具體細節,以便透徹理解本發明。然而,本領域的技術人員應當清楚,在沒有這些具體細節的其它實施例中也可以實現本發明。在其它情況中,省略對眾所周知的裝置、電路以及方法的詳細說明,以免不必要的細節妨礙本發明的描述。
[0056]終端,可以是無線終端也可以是有線終端,無線終端可以是指向用戶提供語音和/或數據連通性的設備,具有無線連接功能的手持式設備、或連接到無線數據機的其他處理設備。
[0057]實施例一
[0058]本發明的實施例提供一種二維碼的識別方法,如圖1所示,包括:
[0059]101、終端採集包含二維碼的待識別圖像;
[0060]102、終端使用預置的分類器提取待識別圖像中的FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;
[0061]103、終端根據FIP確定二維碼的四個頂點,以確定待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
[0062]具體的,在步驟101中,當用戶需要通過終端識別二維碼時,可是使用帶有攝像頭功能的終端採集包含二維碼的待識別圖像。
[0063]其中,二維碼又稱二維條碼,它是用特定的幾何圖形按一定規律在平面(二維方向)上分布的黑白相間的圖形,能在有限的空間內存儲文字、圖像、指紋、籤名等信息。二維碼的編碼巧妙地利用了構成計算機內部邏輯基礎的比特流的概念,使用若干個與二進位相對應的幾何形體來表示文字數值信息,通過終端的識別以實現信息自動處理。
[0064]二維碼是一種比一維碼更高級的條碼格式。一維碼只能在一個方向(一般是水平方向)上表達信息,而二維碼在水平和垂直方向都可以存儲信息。一維碼只能由數字和字母組成,而二維碼能存儲漢字、數字和圖片等信息,因此二維碼的應用領域要廣得多。在現代商業活動中,二維碼可實現的應用十分廣泛,如:產品防偽/溯源、廣告推送、網站連結、數據下載、商品交易、定位/導航、電子憑證、車輛管理、信息傳遞、名片交流、wifi共享等。
[0065]然而,在現有技術中,用戶在實現上述功能的過程中首先要掃描含有二維碼的待識別圖像,終端根據二維碼特有的黑白跳變規律搜索待識別圖像內的3個FIP,進而完成對整個二維碼的定位和識別。在這一過程中,為了能準確對二維碼定位和識別,要求用戶在掃描二維碼時將取景框準確的對準該待識別圖像,且要求該待識別圖像佔據取景框的主體,並且要求在掃描二維碼時不能出出現較大幅度的透視、扭曲形變等條件,一旦在識別二維碼時終端不能滿足上述條件,終端便無法識別所述待識別圖像中的FIP,或者錯誤地識別出類似於FIP的偽FIP,進而導致二維碼的定位和識別失敗。
[0066]在步驟102中,當終端採集到包含二維碼的待識別圖像之後,終端可以根據待識別圖像,使用預置的分類器提取待識別圖像中的FIP,其中,所述分類器用於根據待識別圖像的特徵描述子識別FIP。
[0067]在二維碼中,以QR碼為例,在QR碼的4個角落的其中3個,印有較小的像「回」字的正方圖案,即FIP (Finder pattern),如圖2所示。這3個FIP是幫助解碼軟體定位的圖案,滿足一定的三角形的幾何位置關係,例如,每一個QR碼的3個FIP分別位於QR碼的三個頂點上,構成等腰直角三角形。
[0068]另外,分類器(Classifier)是一種電腦程式,它的設計目標是在通過自動學習後,可自動將數據分到已知類別,在本發明中,終端預置的分類器用於根據待識別圖像的特徵描述子識別FIP。
[0069]具體的,在終端採集包含二維碼的待識別圖像之前,終端還可以在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;進而終端提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵(即Haar特徵)或梯度直方圖特徵;最後,使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器,可選的,可以具體採用AdaBoost分類算法對所述特徵描述子進行訓練,生成所述分類器。
[0070]因此,生成所述分類器後,在步驟102中,終端可以首先提取所述待識別圖像中的特徵描述子(哈爾特徵或梯度直方圖特徵);進而終端根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
[0071 ] 在步驟103中,當終端提取到所述待識別圖像中的FIP後,可以根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置。
[0072]具體的,當終端提取到所述待識別圖像中的FIP後,對所述待識別圖像中的二維碼的位置進行了初步定位,然而,提取到的FIP可能因為拍攝條件、分類器的計算能力等因素的限制產生類似於FIP的偽FIP,因此,需要對已經提取到的FIP進行過濾,即對所述待識別圖像中的二維碼的位置進行精確定位。此時,終端可以根據二維碼的黑白跳變規律,分別以提取到的各個FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;再根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
[0073]進一步地,在確定每個FIP群組所指示的二維碼的四個頂點的位置時,終端可以先檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;再根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點,最終確定了所述待識別圖像中的二維碼的位置。
[0074]相應的,在步驟103中,終端根據提取到的多個FIP,還可以直接根據多個FIP的位置確定相應的多個二維碼的四個頂點,進而確定出與多個二維碼的四個頂點對應的多個二維碼的區域進行識別,在終端識別二維碼的區域的過程中,若二維碼的區域內的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述二維碼的區域,繼續識別下一個二維碼的區域。
[0075]例如,終端根據提取到的5個FIP,進而根據直角三角形的幾何位置關係將所述5個FIP劃分為第一 FIP群組和第二 FIP群組,每個FIP群組對應於3個FIP構成的直角三角型。此時,終端可以確定第一 FIP群組所指示的二維碼的四個頂點的位置,即第一二維碼區域,以及第二 FIP群組所指示的二維碼的四個頂點的位置,即第二二維碼區域,終端可以分別對上述兩個二維碼區域進行識別,若第一二維碼區域內的灰度圖像不符合識別二維碼的黑白跳變規律,則將第一二維碼區域過濾掉,繼續識別下一個二維碼區域。
[0076]再進一步地,當終端確定了所述待識別圖像中的二維碼的位置後,進一步對所述待識別圖像中的二維碼的位置內的二維碼進行校正,以便於識別所述二維碼內的數據信肩、O
[0077]具體的,終端可以根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;再根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像。另外,若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像,最終獲取正確的二維碼的灰度圖像進行數據
息的識別。
[0078]本發明的實施例提供一種二維碼的識別方法,基於目標檢測原理使用分類器對採集到的待識別圖像提取FIP,進行對二維碼的初步定位,進而根據所述FIP確定二維碼的四個頂點,以精確定位該待識別圖像中的二維碼的位置,由於本方案採用的目標檢測原理可以更方便的提取待識別圖像提取FIP,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單,終端才能通過二維碼的黑白跳變規律識別出FIP,所以本發明可以允許終端在更加寬鬆的條件下採集含有一個或多個二維碼的待識別圖像,另外,由於本發明在提取FIP後,根據FIP對二維碼的位置進行兩步法的精確定位,進一步提高了二維碼在複雜場景中的檢測識別率。
[0079]實施例二
[0080]本發明的實施例提供一種二維碼的識別方法,如圖3所示,包括:
[0081]201、終端在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;
[0082]202、終端提取正樣本和負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;
[0083]203、終端使用分類算法對正樣本和負樣本的特徵描述子進行訓練,生成分類器;
[0084]204、終端採集包含二維碼的待識別圖像;
[0085]205、終端使用預置的分類器提取待識別圖像中的FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;
[0086]206、終端根據FIP確定二維碼的四個頂點,以確定待識別圖像中的二維碼的位置;
[0087]207、終端對待識別圖像中的二維碼的位置內的二維碼進行校正,以便於識別二維碼內的數據信息。
[0088]在步驟201中,當用戶在採集包含二維碼的待識別圖像之前,終端需要預置相應的分類器,以實現二維碼內FIP的提取。具體的,終端首先要在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本。
[0089]具體的,研究中實際觀測或調查的一部分個體稱為樣本(sample),為了生成用於識別FIP的分類器,終端或計算機將圖庫中的所有圖像作為樣本,並將二維碼的FIP作為為正樣本,將不包含二維碼的圖像為負樣本。
[0090]在步驟202中,在建立了正樣本和負樣本之後,終端提取所述正樣本和負樣本的特徵描述子,所述特徵描述子用於描述樣本的特徵屬性,示例性的,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵。
[0091]其中,梯度直方圖特徵(HOG)特徵是一種局部區域描述符它通過計算局部區域上的梯度方向直方圖來構成特徵,它能夠很好地描述物體的邊緣,且對光照變化和小量的偏移不敏感。
[0092]哈爾特徵,也稱為Haar特徵,Haar特徵可以分為三類:邊緣特徵、線性特徵、中心特徵和對角線特徵,共同組合成特徵模板。特徵模板內有白色和黑色兩種矩形,並定義該模板的特徵值為白色矩形像素和減去黑色矩形像素和,Haar特徵值反映了圖像的灰度變化情況。
[0093]在步驟203中,終端使用分類算法對正樣本和負樣本的特徵描述子進行訓練,生成分類器。
[0094]需要說明的是,通過執行步驟201至203獲得的終端生成的分類器,也可以由計算機採集相應的計算機的圖庫中的正樣本和負樣本,進而使用分類算法對正樣本和負樣本的特徵描述子進行訓練生成,計算機生成所述分類器後,可以將所述分類器傳輸至終端,以便於終端使用所述分類器提取待識別圖像中的FIP。
[0095]示例性的,可以選擇AdaBoost分類算法對所述特徵描述子進行訓練,生成所述分類器。其中,Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。Adaboost算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。使用adaboost分類器可以排除一些不必要的訓練數據特徵,並將訓練重點放在關鍵的訓練數據上面。
[0096]在步驟204中,當終端建立好用於提取FIP的分類器後,用戶可是使用帶有攝像頭功能的終端採集包含二維碼的待識別圖像。
[0097]特別地,由於本方案採用目標檢測原理對二維碼的位置進行兩步法的精確定位,可以允許終端在更加寬鬆的條件下採集含有二維碼的待識別圖像,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單。
[0098]在步驟205中,當終端採集到包含二維碼的待識別圖像之後,終端可以根據待識別圖像,使用預置的分類器提取待識別圖像中的FIP,其中,所述分類器用於根據待識別圖像的特徵描述子識別FIP。
[0099]具體的,終端可以首先提取所述待識別圖像中的特徵描述子(哈爾特徵或梯度直方圖特徵);進而終端根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的 FIP。
[0100]可以看出,相較於現有技術中通過二維碼特有的黑白跳變規律搜索待識別圖像內的FIP,本發明中使用生成的分類器提取待識別圖像中的FIP,可以降低對待識別圖像的畫面要求,提高FIP的識別率。
[0101 ] 在步驟206中,當終端提取到所述待識別圖像中的FIP後,可以根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置。
[0102]步驟204至205完成了對所述待識別圖像中的二維碼的位置的初步定位,即確定了所述待識別圖像中的FIP的數量和位置。然而,提取到的FIP可能因為拍攝條件、分類器的計算能力等因素的限制產生類似於FIP的偽FIP,因此,需要對已經提取到的FIP進行過濾,即對所述待識別圖像中的二維碼的位置進行精確定位。
[0103]具體的,終端可以根據二維碼的黑白跳變規律,分別以提取到的各個FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;再根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,示例性的,如圖4所示,根據三角形兩邊之和大於第三邊,兩邊之差小於第三邊的幾何位置關係,終端過濾不滿足上述幾何位置關係的FIP,得到一個FIP群組,即由1、2、3構成的第一 FIP群組。
[0104]參考圖4,在第一 FIP群組內,終端可以採用Harris角點檢測算法檢測圖4中三個FIP的所有角點,形成第一 FIP群組的角點集合;進而,終端在第一 FIP群組的角點集合內根據角點的幾何位置關係獲取如圖4所示位置的三個頂點P1、P2、P3和兩個角點C1、C2,最後,通過計算Pl和Cl所在直線和P2和C2所在直線的交點得到二維碼的第4個頂點P4,至此,P1、P2、P3、P4即為二維碼的四個頂點,從而確定了所述待識別圖像中的二維碼的位置。
[0105]在步驟207中,當終端確定了所述待識別圖像中的二維碼的位置後,進一步對所述待識別圖像中的二維碼的位置內的二維碼進行校正,以便於識別所述二維碼內的數據信肩、O
[0106]具體的,終端可以根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;再根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像。
[0107]示例性的,參考圖4,終端內預置有校正後的所述二維碼的四個頂點的位置P11、P22、P33、P44,根據已經確定的二維碼的四個頂點Pl、P2、P3、P4,建立方程組求解透視矩陣係數;假設校正後的所述二維碼的四個頂點的位置P11、P22、P33、P44內的任一點Z像素的坐標為(x,y),那麼終端根據該透視矩陣係數,對(x,y)進行透視矩陣變換得到校正前PU?2、?3、?4所確定的二維碼內與2對應的坐標21(1』,y』),再對(x』,y』 )用線性插值方法計算得到(x,y)的灰度值,這樣一來,就可以得到校正後的二維碼的灰度圖像,進行數據信息的識別。
[0108]本發明的實施例提供一種二維碼的識別方法,基於目標檢測原理使用分類器對採集到的待識別圖像提取FIP,進行對二維碼的初步定位,進而根據所述FIP確定二維碼的四個頂點,以精確定位該待識別圖像中的二維碼的位置,由於本方案採用的目標檢測原理可以更方便的提取待識別圖像提取FIP,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單,終端才能通過二維碼的黑白跳變規律識別出FIP,所以本發明可以允許終端在更加寬鬆的條件下採集含有一個或多個二維碼的待識別圖像,另外,由於本發明在提取FIP後,根據FIP對二維碼的位置進行兩步法的精確定位,進一步提高了二維碼在複雜場景中的檢測識別率。
[0109]實施例三
[0110]如圖5所示,為本發明的實施例提供一種終端的硬體示意圖。
[0111]所述終端為具有攝像頭的終端設備,可以是無線終端也可以是有線終端,例如手機終端,IPAD等,本實施例以手機終端作為終端舉例說明:
[0112]如圖5,所手機終端包括處理器01、收發器02、存儲器03以及總線04。
[0113]其中,處理器01、收發器02和存儲器03通過總線通信連接。
[0114]處理器01,是所述手機終端的控制中心,處理器01通過對收發器02接收到的數據進行處理,並調用存儲器03中的軟體或程序,執行所述手機終端的各項功能。
[0115]收發器02,可用於收發信息或採集圖像的過程中,信號和數據的接收和發送,收發器02接收手機終端發送的信息後,給處理器01處理;另外,收發器02還可以通過無線通信與網絡和其他設備通信。
[0116]存儲器03,可用於存儲軟體程序,處理器01通過運行存儲在存儲器03的軟體程序,從而執行所述手機終端的各種功能應用以及數據處理。
[0117]在本發明實施例中,所述收發器02採集包含二維碼的待識別圖像並發送至處理器01 ;所述處理器01調用所述存儲器03中預置的分類器提取所述待識別圖像中的FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;所述處理器01根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
[0118]進一步地,步驟所述處理器01調用所述存儲器03中預置的分類器提取所述待識別圖像中的FIP,可以具體包括:所述處理器01提取所述待識別圖像中的特徵描述子;並根據所述特徵描述子,調用所述存儲器03中預置的FIP分類器提取所述待識別圖像中的FIP。
[0119]進一步地,步驟所述處理器01根據所述FIP確定所述二維碼的四個頂點,可以具體包括:所述處理器01根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;所述處理器01根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
[0120]進一步地,步驟確定每個FIP群組所指示的二維碼的四個頂點的位置,可以具體包括:所述處理器01檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;處理器01根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
[0121]進一步地,步驟所述處理器01確定所述待識別圖像中的二維碼的位置之後,還可以包括:處理器01根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;處理器01根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
[0122]進一步地,在步驟確定校正後所述二維碼的灰度圖像之後,還可以包括:若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,所述處理器01則過濾所述校正後的二維碼的灰度圖像。
[0123]進一步地,在步驟所述收發器02採集包含二維碼的待識別圖像之前,還可以包括:所述處理器01通過收發器02在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;所述處理器01提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;所述處理器01使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
[0124]本發明的實施例提供一種終端,基於目標檢測原理使用分類器對採集到的待識別圖像提取FIP,進行對二維碼的初步定位,進而根據所述FIP確定二維碼的四個頂點,以精確定位該待識別圖像中的二維碼的位置,由於本方案採用的目標檢測原理可以更方便的提取待識別圖像提取FIP,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單,終端才能通過二維碼的黑白跳變規律識別出FIP,所以本發明可以允許終端在更加寬鬆的條件下採集含有一個或多個二維碼的待識別圖像,另外,由於本發明在提取FIP後,根據FIP對二維碼的位置進行兩步法的精確定位,進一步提高了二維碼在複雜場景中的檢測識別率。
[0125]實施例四
[0126]本發明的實施例提供一種終端,如圖6所示,包括:
[0127]採集單元11,用於採集包含二維碼的待識別圖像;
[0128]提取單元12,用於使用預置的分類器提取所述採集單元11中的待識別圖像中的位置探測圖形FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ;
[0129]識別單元13,用於根據所述提取單元12中的FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
[0130]進一步地,所述提取單元12,具體用於提取所述待識別圖像中的特徵描述子;根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
[0131]進一步地,所述識別單元13,具體用於根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
[0132]進一步地,所述識別單元13,具體用於檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
[0133]進一步地,如圖7所示,所述終端還包括校正單元14,其中,
[0134]所述校正單元14,用於根據所述識別單元13中的二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
[0135]進一步地,如圖8所示,所述終端還包括過濾單元15,其中,
[0136]所述過濾單元15,用於若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像。
[0137]進一步地,所述提取單元12,還用於在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
[0138]本發明的實施例提供一種終端,基於目標檢測原理使用分類器對採集到的待識別圖像提取FIP,進行對二維碼的初步定位,進而根據所述FIP確定二維碼的四個頂點,以精確定位該待識別圖像中的二維碼的位置,由於本方案採用的目標檢測原理可以更方便的提取待識別圖像提取FIP,不必像現有的二維碼的待識別圖像的採集過程中那樣,必須要求取景框中的二維碼佔主體且二維碼的背景簡單,終端才能通過二維碼的黑白跳變規律識別出FIP,所以本發明可以允許終端在更加寬鬆的條件下採集含有一個或多個二維碼的待識別圖像,另外,由於本發明在提取FIP後,根據FIP對二維碼的位置進行兩步法的精確定位,進一步提高了二維碼在複雜場景中的檢測識別率。
[0139]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0140]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0141]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0142]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
[0143]所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)或處理器(processor)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。
[0144]以上所述,僅為本發明的【具體實施方式】,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述權利要求的保護範圍為準。
【權利要求】
1.一種二維碼的識別方法,其特徵在於,包括: 採集包含二維碼的待識別圖像; 使用預置的分類器提取所述待識別圖像中的位置探測圖形FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ; 根據所述FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
2.根據權利要求1所述的方法,其特徵在於,所述使用預置的分類器提取所述待識別圖像中的FIP,包括: 提取所述待識別圖像中的特徵描述子; 根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
3.根據權利要求1所述的方法,其特徵在於,所述根據所述FIP確定所述二維碼的四個頂點,包括: 根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ; 根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
4.根據權利要求3所述的方法,其特徵在於,所述確定每個FIP群組所指示的二維碼的四個頂點的位置,包括: 檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合; 根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
5.根據權利要求1所述的方法,其特徵在於,在所述確定所述待識別圖像中的二維碼的位置之後,還包括: 根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數; 根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
6.根據權利要求5所述的方法,其特徵在於,在所述確定校正後所述二維碼的灰度圖像之後,還包括: 若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像。
7.根據權利要求1所述的方法,其特徵在於,在所述採集包含二維碼的待識別圖像之前,還包括: 在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本; 提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵; 使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
8.—種終端,其特徵在於,包括: 採集單元,用於採集包含二維碼的待識別圖像; 提取單元,用於使用預置的分類器提取所述採集單元中的待識別圖像中的位置探測圖形FIP,所述分類器用於根據待識別圖像的特徵描述子識別FIP ; 識別單元,用於根據所述提取單元中的FIP確定所述二維碼的四個頂點,以確定所述待識別圖像中的二維碼的位置,以便於識別所述二維碼的位置內的二維碼。
9.根據權利要求8所述的終端,其特徵在於, 所述提取單元,具體用於提取所述待識別圖像中的特徵描述子;根據所述特徵描述子,使用預置的FIP分類器提取所述待識別圖像中的FIP。
10.根據權利要求8所述的終端,其特徵在於, 所述識別單元,具體用於根據二維碼的黑白跳變規律,以所述FIP為中心分別進行水平方向和垂直方向的探測,以過濾所述FIP中不滿足黑白跳變規律的偽FIP ;根據三角形的幾何位置關係將過濾後的FIP劃分為FIP群組,以確定每個FIP群組所指示的二維碼的四個頂點的位置,所述每個FIP群組包括三個FIP。
11.根據權利要求10所述的終端,其特徵在於, 所述識別單元,具體用於檢測所述FIP群組內三個FIP的角點,形成FIP群組的角點集合;根據所述角點集合以及所述角點集合內角點的幾何位置關係,分別確定所述FIP群組所指示的二維碼的四個頂點。
12.根據權利要求8所述的終端,其特徵在於,所述終端還包括校正單元,其中, 所述校正單元,用於根據所述二維碼的四個頂點與預置的校正後的所述二維碼的四個頂點的位置關係,計算所述二維碼的透視矩陣係數;根據所述透視矩陣係數,通過矩陣變換和線性插值法對所述二維碼的位置內的二維碼進行校正,以確定校正後所述二維碼的灰度圖像,以便於根據所述二維碼的灰度圖像識別所述二維碼。
13.根據權利要求12所述的終端,其特徵在於,所述終端還包括過濾單元,其中, 所述過濾單元,用於若校正後所述二維碼的灰度圖像不符合識別二維碼內數據信息的參數標準,則過濾所述校正後的二維碼的灰度圖像。
14.根據權利要求8所述的終端,其特徵在於, 所述提取單元,還用於在預置的圖庫中提取二維碼的FIP為正樣本,不包含二維碼的圖像為負樣本;提取所述正樣本和所述負樣本的特徵描述子,所述特徵描述子至少包括哈爾特徵或梯度直方圖特徵;使用分類算法對所述正樣本和所述負樣本的特徵描述子進行訓練,生成所述分類器。
【文檔編號】G06K7/10GK104268498SQ201410514458
【公開日】2015年1月7日 申請日期:2014年9月29日 優先權日:2014年9月29日
【發明者】張偉, 陳茂林, 劉金曉 申請人:杭州華為數位技術有限公司