本發明涉及圖像識別領域,具體地涉及一種二維碼掃描識別方法、一種二維碼掃描識別裝置、一種移動終端以及一種存儲介質。
背景技術:
二維碼是采用某種特定的幾何圖形按一定規律在平面分布的黑白相間的圖形來記錄數據符號信息的,例如黑色表示的是二進制“1”,白色表示二進制的“0”,黑白的排列組合確定了矩陣式二維條碼的內容,以便于計算機對二維碼進行編碼和分析。參照圖1所示,二維碼的結構一般可以包括:位置探測圖形1(用于二維碼的定位)、位置探測圖形分隔符2、定位圖形3(用于劃分二維碼的網格)、校正圖形4(由二維碼的規格確定)、格式信息5(二維碼的糾錯級別)、版本信息6(二維碼的規格)、數據和糾錯碼字7(實際存儲的二維碼信息和用于修正錯誤的糾錯碼字)以及空白區8等。
隨著移動通信技術的不斷發展,參照圖2所示,尤其是安裝于移動終端的各種應用程序20通過調用拍照組件30掃描二維碼來獲取二維碼信息十分便捷,使得二維碼的應用遍及生活的各個角落。
但常常由于各種情形,例如參照圖3所示,因為過度曝光導致圖像模糊;參照圖4所示,因為掃描距離太遠,獲得的二維碼圖形太小;諸如此類的原因,而現有的二維碼掃描方法并不支持在二維碼掃描過程中對應地自動調整拍照組件,因此二維碼的識別成功率大大降低,甚至無法識別。
技術實現要素:
本發明實施例提供一種二維碼掃描識別方法、裝置、移動終端及存儲介質,以解決或部分解決現有的二維碼的識別成功率低的問題。
第一方面,提供了一種二維碼掃描識別方法,應用于移動終端,具體可以包括:
掃描一二維碼,并進行識別;
若識別二維碼失敗,則獲取所述二維碼的原始圖像;
若所述原始圖像滿足預設條件,則按照所述預設條件對應的調整策略對所述移動終端的拍照組件進行調整,獲得所述二維碼的目標圖像;
對所述目標圖像進行識別。
第二方面,提供了一種二維碼掃描識別裝置,應用于移動終端,具體可以包括:
掃描識別模塊,用于掃描一二維碼,并進行識別;
原始圖像獲取模塊,用于若識別二維碼失敗,則獲取所述二維碼的原始圖像;
拍照組件調整模塊,用于若所述原始圖像滿足預設條件,則按照所述預設條件對應的調整策略對所述移動終端的拍照組件進行調整,獲得所述二維碼的目標圖像;
目標圖像識別模塊,用于對所述目標圖像進行識別。
第三方面,提供了一種移動終端,包括處理器、存儲器及存儲在所述存儲器中并可在所述處理器中運行的二維碼掃描識別程序,所述二維碼掃描識別程序被所述處理器執行時實現如上述權利要求中任一項所述的二維碼掃描識別方法的步驟。
第四方面,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有二維碼掃描識別程序,所述二維碼掃描識別程序被處理器執行時實現如上述權利要求中任一項所述的二維碼掃描識別方法的步驟。
這樣,本發明實施例中,在掃描并識別一二維碼失敗后,獲取上述二維碼的原始圖像,并根據上述原始圖像,對移動終端的拍照組件進行相應調整,重新獲取上述二維碼的目標圖像并識別;因此對于同一二維碼,相對于上述原始圖像,本發明實施例提高了上述目標圖像的識別成功率;本發明實施例通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對本發明實施例的描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是一種二維碼的基本結構的示意圖;
圖2是現有的二維碼掃描識別方法對應的結構示意圖;
圖3是一種在過度曝光條件下掃描得到的二維碼圖像的示意圖;
圖4是一種在掃描距離過遠條件下掃描得到的二維碼圖像的示意圖;
圖5是本發明實施例的一種二維碼掃描識別方法對應的結構示意圖;
圖6是本發明方法實施例一的一種二維碼掃描識別方法的步驟的流程圖;
圖7是本發明方法實施例二的一種二維碼掃描識別方法的步驟的流程圖;
圖8是本發明方法實施例二的一種在過度曝光條件下對拍照組件進行自動智能調整之前和之后掃描得到的二維碼的原始圖像和目標圖像的對照示意圖;
圖9是本發明方法實施例二的一種在掃描距離過遠條件下對拍照組件進行自動智能調整之前和之后掃描得到的二維碼的原始圖像和目標圖像的對照示意圖;
圖10是本發明方法實施例二的一種在對焦不準條件下對拍照組件進行自動智能調整之前和之后掃描得到的二維碼的原始圖像和目標圖像的對照示意圖;
圖11是本發明方法實施例二的一種在二維碼被污染條件下對掃描得到的二維碼的目標圖像進行剔除雜色處理之前和之后的對照示意圖;
圖12是本發明裝置實施例三的一種二維碼掃描識別裝置之一的結構框圖;
圖13是本發明裝置實施例三的一種二維碼掃描識別裝置之二的結構框圖;
圖14是本發明裝置實施例三的一種二維碼掃描識別裝置之三的結構框圖;
圖15是本發明裝置實施例三的一種二維碼掃描識別裝置之四的結構框圖;
圖16是本發明裝置實施例三的一種二維碼掃描識別裝置之五的結構框圖;
圖17是本發明裝置實施例四的一種移動終端的結構框圖;
圖18是本發明裝置實施例五的一種移動終端的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
參照圖5所示,本發明實施例的一種可選實施方式中,本發明實施例對應的二維碼掃描識別裝置60可以在接收到一應用程序50的針對一二維碼的掃描指令時,調用拍照組件70獲取上述二維碼的原始圖像,并發送給應用程序50供識別;可以在監控到應用程序50識別上述二維碼的原始圖像失敗時,根據識別失敗的原始圖像,對拍照組件70進行調整,采用調整后的拍照組件70獲取二維碼的目標圖像,并發送給應用程序50供識別。因此相比于圖2所示的應用程序20和拍照組件30的交互過程,本發明實施例的一種可選實施方式中,涉及到應用程序50與二維碼掃描識別裝置60的交互過程,以及二維碼掃描識別裝置60與拍照組件70的交互過程。
可以理解的是,上述示例是本發明實施例的一種可選方式,本發明實施例并不限于上述應用場景。本發明實施例對應的二維碼掃描識別裝置可以包括二維碼識別模塊,可以對二維碼的圖像進行識別,而不需要經過應用程序進行識別,而是可以將識別后的二維碼數據發送給應用程序。同樣地,也不需要在接收到應用程序的掃描指令時才掃描二維碼,而可以是獨立的一個二維碼掃描識別裝置,可以在檢測到預設的二維碼掃描識別操作時,調用上述移動終端的拍照組件掃描一二維碼,并進行識別。總之,本發明實施例對此不做限制。
【方法實施例一】
參照圖6所示,本發明實施例提供了一種二維碼掃描方法,應用于移動終端,上述方法具體可以包括步驟601-604:
步驟601:掃描一二維碼,并進行識別。
上述移動終端可以包括手機、平板電腦、可穿戴電子終端等;可以理解的是,具有上述拍照組件的移動終端都在本發明實施例的保護范圍之內。
本發明實施例的一種可選方式中,若接收到一應用程序針對一二維碼的掃描指令,則調用上述移動終端的拍照組件獲取針對上述二維碼的原始圖像,并將上述圖像發送給上述應用程序,以供上述應用程序根據上述原始圖像識別二維碼。
本發明實施例的一種可選方式中,當檢測到預設的二維碼掃描識別操作時,調用上述移動終端的拍照組件掃描一二維碼,并進行識別。上述預設的二維碼掃描識別操作可以是對顯示于上述移動終端的屏幕的二維碼掃描識別圖標,也可以是其他方式。
本發明實施例的一種可選方式中,掃描一二維碼的圖像,并識別上述二維碼。
本發明實施例的一種可選方式中,掃描一二維碼,并調用二維碼識別模塊識別。
上述二維碼可以是qrcode(quickresponsecode,qr碼)、vericode、datamatrix(矩陣式二維碼),也可以是其它形式的二維碼,本發明實施例對此不作限制。
步驟602:若識別二維碼失敗,則獲取上述二維碼的原始圖像。
本發明實施例中,若識別二維碼失敗,則獲取上述二維碼的原始圖像。
本發明實施例的一種可選方式中,若監控到一應用程序識別上述二維碼的原始圖像失敗,則獲取上述二維碼的原始圖像。可以理解的是,若上述應用程序識別上述二維碼的原始圖像失敗,則可以獲得上述應用程序識別二維碼失敗的消息。
本發明實施例的一種可選方式中,若調用二維碼識別模塊識別二維碼失敗,則獲取上述二維碼的原始圖像。
本發明實施例中,上述原始圖像可以為上述移動終端的拍照組件針對上述二維碼獲取的圖像。
步驟603:若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,獲得上述二維碼的目標圖像。
本發明實施例的一種可選方式中,在獲取上述二維碼的原始圖像之后,對上述原始圖像進行圖像處理與分析,判斷上述原始圖像是否滿足預設的各調整策略對應的各預設條件;若上述原始圖像滿足預設條件,則根據上述預設條件對應的預設的調整策略對上述拍照組件進行調整,并獲得上述二維碼的目標圖像。
上述拍照組件可以包括各種攝像頭,例如前置攝像頭、后置攝像頭等、長焦攝像頭、短焦攝像頭;可以包括各種拍攝光源,例如曝光燈、柔光燈等;總之,本發明實施例對此不作限制。
上述對拍照組件進行調整可以包括:切換前后攝像頭、調整攝像頭的焦距、切換拍照光源、調整攝像頭的光圈等調整策略中的任一或任意組合。
本發明實施例可以獲得上述原始圖像的各像素點在移動終端屏幕中的位置或坐標,可以獲得各像素點的顏色值或灰度處理后的灰度值,還可以獲得其它圖像信息。本發明實施例能夠獲得上述原始圖像的圖像信息,按照預設的分析計算策略獲得對應于上述原始圖像被識別失敗的原因的特征信息,與上述預設的調整策略進行匹配。可以理解的是,上述匹配的預設的調整策略是針對上述原始圖像被識別失敗的原因的;因此采用預設調整策略調整上述移動終端的拍照組件,獲取的目標圖像是可以避免或者部分避免上述原始圖像被識別失敗的原因的,因此上述目標圖像相比于上述原始圖像,識別成功率更高。
例如,對上述原始圖像進行灰度處理,獲取上述原始圖像的平均灰度值;例如以0%為白色,100%為黑色來表示灰度,若上述平均灰度值大于設定灰度閾值,則啟用拍照光源。可以理解的是,一般情況下,在環境亮度足夠,例如白天室外的環境下,是不需要開啟拍照光源的;而如果是在環境亮度不足,例如黑暗環境下獲取的圖像,其圖像整體偏黑,平均灰度值偏低,難以被識別;因此若上述原始圖像的平均灰度值大于設定灰度閾值,則啟用拍照光源,采用調整后的拍照組件獲取的目標圖像,就避免或者部分避免上述原始圖像因黑暗環境導致圖像整體偏黑,而識別失敗的情形;相對而言,上述目標圖像的識別成功率更高。
步驟604:對上述目標圖像進行識別。
本發明實施例的一種可選方式中,調用二維碼識別模塊對上述目標圖像進行識別。
本發明實施例的一種可選方式中,將上述目標圖像發送給一應用程序,以供上述應用程序根據上述目標圖像識別二維碼。將上述調整后的拍照組件針對二維碼獲取的目標圖像發送給應用程序,可以是應用程序的圖像處理模塊,以供上述應用程序根據上述目標圖像采用二維碼識別程序識別上述原始圖像對應的二維碼。
例如針對qr碼的二維碼識別,首先,通過位置探測圖形定位并獲取二維碼圖形數據,比如對bmp圖像進行二值化,對深色與淺色模塊識別為由“0”與“1”組成的陣列;若上述二維碼圖形數據經過掩模處理,根據上述掩模圖形數據版本信息確認上述二維碼圖形采用了哪一種掩模圖形數據。然后采用該掩模圖形數據對編碼區域的進行異或處理,消除掩模;然后,根據模塊排列規則,識讀符號字符,恢復信息的數據與糾錯碼字;再次,用與糾錯等級信息相對應的糾錯碼字檢測錯誤,如果發現錯誤,則進行糾錯;最后,進行譯碼,得出數據字符并輸出結果。
本發明實施例的一種可選方式中,在上述步驟603之后,還包括:若監控到上述應用程序識別上述目標圖像對應的二維碼失敗后,則根據上述目標圖像,按照預設的調整策略對上述拍照組件進行調整,獲得第三圖像。本發明實施例中,可以按照上述方案循環,直至上述應用程序識別二維碼成功,或者識別二維碼失敗次數達到閾值,或者識別時間超過閾值等等。
本發明實施例中,在掃描并識別一二維碼失敗后,獲取上述二維碼的原始圖像,并根據上述原始圖像,對移動終端的拍照組件進行相應調整,重新獲取上述二維碼的目標圖像并識別;因此對于同一二維碼,相對于上述原始圖像,本發明實施例提高了上述目標圖像的識別成功率;本發明實施例通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率。
【方法實施例二】
參照圖7所示,本發明實施例提供了一種二維碼掃描方法,應用于移動終端,上述方法具體可以包括步驟701-708:
步驟701:掃描一二維碼,并進行識別。
步驟702:若識別二維碼失敗,則獲取上述二維碼的原始圖像。
步驟703:若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,獲得上述二維碼的目標圖像。
本發明實施例的可選方式之一,上述拍照組件包括攝像頭、曝光燈和柔光燈,則上述若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,可以包括:對上述原始圖像進行灰度處理,獲取上述原始圖像的灰度值和灰度梯度;若上述原始圖像的灰度值小于第一預設灰度值閾值,則啟用上述曝光燈或上述柔光燈作為拍照光源。
進一步地,當采用上述曝光燈作為拍照光源時,若上述原始圖像的灰度梯度小于預設灰度梯度閾值,則降低上述攝像頭的進光量或者啟用上述柔光燈作為拍照光源。
本發明實施例的上述可選方式中,對上述原始圖像進行灰度處理,例如采用0為黑色,255為白色的灰度表示方法,獲得上述原始圖像的各像素點的灰度值和灰度梯度。
上述灰度值可以是上述原始圖像的最大灰度值,也可以是上述原始圖像的平均灰度值,也可以是其它灰度值。例如上述原始圖像的最大灰度值,可以是上述原始圖像各像素點的最大灰度值;也可以是,將上述各像素點按照位置或坐標劃分為各組,分別求各組的平均灰度值,以各組的平均灰度值中最大的平均灰度值,作為上述原始圖像的最大灰度值。同樣地,上述灰度梯度可以是上述各灰度值按照位置或坐標進行中值插分,或者由二維坐標和對應的灰度值組成的二維離散函數進行二維離散函數求導得到,或者其它方式。總之,本發明實施例對此不作限制。
本發明實施例中,若上述原始圖像的灰度值小于第一預設灰度值閾值,則啟用上述曝光燈或上述柔光燈作為拍照光源。可以推知的是,上述原始圖像的灰度值小于第一預設灰度值閾值,則可能是因為環境黑暗,進光量太低,上述原始圖像的灰度值整體偏向黑色,因此難以識別;因此啟用上述曝光燈或上述柔光燈作為拍照光源可以提高環境亮度,提高上述目標圖像的質量,提高上述目標圖像的識別成功率。
可以理解的是,上述“小于”是針對例如采用0為黑色,255為白色的灰度表示方法;而如果對于采用0%為白色,100%為黑色的灰度表示方法,則應該為“大于”;在此不再贅述。
本發明實施例中,當采用上述曝光燈作為拍照光源時,若上述原始圖像的灰度梯度小于預設灰度梯度閾值,則降低上述攝像頭的進光量或者啟用上述柔光燈作為拍照光源。因為上述原始圖像的灰度梯度小于預設灰度梯度閾值,因此可以推知上述原始圖像的灰度值整體偏黑或整體偏白,較為均一;而在已經采用曝光燈的情況下,可以推知上述原始圖像的灰度值整體偏白,是由于過度曝光,造成進光量過多形成的,參照圖8所示的左圖。因此,降低上述攝像頭的進光量或者啟用上述柔光燈作為拍照光源,參照圖8所示的右圖,可以明顯改善拍照的亮度環境和上述目標圖像的質量,提高上述目標圖像的識別成功率。具體地,可以通過調整上述攝像頭的光圈,采用更小的光圈,來降低上述攝像頭的進光量,或者采用其他方式。
本發明實施例的可選方式之二,上述拍照組件包括攝像頭,則上述若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,可以包括:掃描上述原始圖像,獲取上述二維碼的原始圖像的占屏比;若上述占屏比小于預設占屏比,則提高上述攝像頭的焦距。
可選地,通過掃描上述原始圖像,確認上述二維碼的位置探測圖形的位置;根據上述位置探測圖形的位置,計算上述二維碼的邊長;獲取上述移動終端的屏幕面積;通過上述二維碼的邊長以及上述移動終端的屏幕面積可以計算得到上述二維碼的原始圖像的占屏比。
本發明實施例的上述可選方式中,掃描上述原始圖像,確認二維碼的位置探測圖形的位置,例如對于qr碼,可以通過如下方式:首先對上述原始圖像按照顏色深淺,或者設定灰度值進行二值化;然后按行、列分別逐點掃描,把同一灰度級的相鄰像素記錄為線段,如果有5段線段的長度比例符合1:1:3:1:1,且深淺顏色順序為深-淺-深-淺-深,則記錄該線段;掃描完后,把行相鄰的線段分為一組,去除與所有線段都不相鄰的行線段(可能是隨機的干擾線段);同樣處理列線段,把行線段組和列線段組中相互交叉的組分類,求出交叉的行、列線段組的中心點,即為位置探測圖形的中心,可以對應的坐標,即上述位置探測圖形的位置。
上述根據上述位置探測圖形的位置,計算上述二維碼的邊長,對于qr碼而言,可以通過三個上述位置探測圖形的中心的坐標形成的三角形,確定非斜邊的兩個上述位置探測圖形的中心的坐標,得到對應的上述兩個上述位置探測圖形的中心的距離。近似地,可以以上述距離作為上述qr碼的邊長;或者上述距離乘以設定比例得到上述qr碼的最大的邊長。可以理解的是,上述移動終端的屏幕面積是設定值,可以存儲在上述移動終端中;或者從網絡中按照上述移動終端的型號查找,還可以通過其他方式。
可以推知的是,若上述占屏比小于預設占屏比,則意味著上述二維碼在上述移動終端中屏幕中的顯示區域很小,參照圖9所示的左圖,意味著因為掃描距離過遠,攝像頭焦距過小,導致圖像有效像素的損失;因此通過提高上述攝像頭的焦距可以明顯提高上述圖像的有效像素,參照圖9所示的右圖,提高上述目標圖像的識別成功率。
本發明實施例的可選方式之三,上述拍照組件包括攝像頭,則上述若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,可以包括:獲取上述原始圖像的顏色值;若上述原始圖像的顏色值大于預設顏色值閾值,則獲取上述攝像頭的焦距,并在預設范圍內對上述焦距進行調整。
本發明實施例的上述可選方式中,逐行掃描上述原始圖像,獲取上述原始圖像的顏色值,上述顏色值可以采用灰度值,等等。可以推知的是,若上述原始圖像的顏色值大于預設顏色值閾值,則意味著上述原始圖像的顏色值偏向白色,有可能是因為對焦不準導致拖影或圖像模糊,參照圖10所示的左圖;因此通過對上述攝像頭的焦距在針對上述焦距的預設范圍內進行微調,即對焦,可以明顯使得上述第二圖形變得清晰,參照圖10所示的右圖,提高上述目標圖像的識別成功率。
進一步的,本發明實施例的一種可選方式中,若上述原始圖像的位置探測圖形的中心的顏色值大于預設顏色值閾值,則對上述攝像頭的焦距在針對上述焦距的預設范圍內進行調整。例如,對于標準qr碼而言,位置探測圖形的中心的顏色值為標準黑色,若上述原始圖像的位置探測圖形的中心的顏色值大于預設顏色值閾值,意味著上述位置探測圖形的中心的顏色值與標準黑色差距大,可能是因為對焦不準的原因導致拖影或圖像模糊,因此對上述攝像頭的焦距進行微調可以明顯改善上述差距,提高上述第二圖像的清晰度,提高上述目標圖像的識別成功率。
可以理解的是,本發明實施例中對拍照組件進行調整的調整策略并不局限于上述三種,而且上述三種調整策略是可以同時存在的,例如可以先進行可選方式之一,進行拍照光源的調整或攝像頭進光量的調整;再進行可選方式之二,提高攝像頭的焦距;最后進行可選方式之三,對攝像頭焦距進行微調;當然本發明實施例中可以包括各種預設的調整策略,可以是任一或任意各調整策略的組合,對各調整策略的順序也不進行限制。
步驟704:獲取上述目標圖像各像素點的顏色值。
本發明實施例的一種可選方式中,逐行掃描上述目標圖像,獲取上述目標圖像各像素點的顏色值以及各像素點的坐標。
步驟705:確認上述二維碼的位置探測圖形在上述目標圖像中的位置。
參照上述確認位置探測圖形的描述,在此不再贅述。
步驟706:根據上述位置探測圖形的位置,獲取對應上述位置探測圖形的像素點的顏色值作為主顏色值。
本發明實施例的一種可選方式中,根據上述位置探測圖形的中心的坐標,獲取上述坐標對應的像素點的顏色值作為主顏色值。例如,參照圖11所示的左圖,若二維碼被污染,如果不是被黑色或白色污染,則二維碼實際上仍然存在被識別的可能。因為黑色和白色被其他顏色污染后,其顏色值仍然是存在差異的,因為上述探測圖形的原來的顏色值為黑色,因此上述探測圖形的被污染后的顏色值以作為主顏色值,與污染前的顏色值為白色的像素點進行區分。
步驟707:分別針對上述各像素點,若上述像素點的顏色值與上述主顏色值的差值大于預設色差閾值,則將上述像素點的顏色值重置為預設的第一顏色值。
本發明實施例中,分別針對上述各像素點,若上述像素點的顏色值與上述主顏色值的差值大于預設色差閾值,則將上述像素點的顏色值重置為預設的第一顏色值,參照圖11所示的右圖。本發明實施例中,以對應上述探測圖形的像素點的顏色值以作為主顏色值,通過與上述主顏色值比對,可以將污染前的顏色值為白色的像素點查找出來,并設置為預設的第一顏色值;可以理解的是,上述預設的第一顏色值可以為白色顏色值。進一步地,可以將其它像素點的顏色值重置為預設的黑色顏色值。總之,本發明實施例,能夠對污染后的二維碼的圖像中,污染前的顏色值為黑色的像素和污染前為白色的像素進行區分,而且剔除了雜色,使得二維碼圖像干凈清晰,便于對上述目標圖像進行“0”和“1”的二值化,提高了上述目標圖像的識別效率。
步驟708:對上述目標圖像進行識別。
可以理解的是,上述目標圖像為經過上述步驟705-707處理過的目標圖像。
本發明實施例一方面通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率;具體地:可以通過調整拍照光源或攝像頭進光量,改善拍照的亮度環境和二維碼的圖像質量,提高二維碼的識別成功率;可以通過提高攝像頭焦距,提高上述二維碼的圖像的有效像素,提高二維碼的識別成功率;可以通過微調攝像頭焦距,提高上述二維碼的圖像清晰度,提高上述二維碼的識別成功率;另一方面,因為采用多種拍照組件的調整策略,因此提高了應用的廣泛性和針對性;再一方面,對二維碼圖像通過剔除雜色進行提取,使得二維碼圖像干凈清晰,提高了二維碼的識別效率。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明實施例并不受所描述的動作順序的限制,因為依據本發明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作并不一定是本發明實施例所必須的。
【裝置實施例三】
參照圖12所示,本發明實施例提供了一種二維碼掃描識別裝置1200,具體可以包括:
掃描識別模塊1201,用于掃描一二維碼,并進行識別;
原始圖像獲取模塊1202,用于若識別二維碼失敗,則獲取上述二維碼的原始圖像;
拍照組件調整模塊1203,用于若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件進行調整,獲得上述二維碼的目標圖像;
目標圖像識別模塊1204,用于對上述目標圖像進行識別。
可選地,參照圖13,在上述圖12的基礎上,上述拍照組件調整模塊1203可以包括:
原始圖像處理單元12031,用于對上述原始圖像進行灰度處理,獲取上述原始圖像的灰度值和灰度梯度;
拍照光源調整單元12032,用于若上述原始圖像的灰度值小于第一預設灰度值閾值,則啟用上述曝光燈或上述柔光燈作為拍照光源。
可選地,參照圖14,在上述圖12的基礎上,上述拍照組件調整模塊1203可以包括:
原始圖像占屏比確認單元12033,用于掃描上述原始圖像,獲取上述二維碼的原始圖像的占屏比;
焦距調高單元12034,用于若上述占屏比小于預設占屏比,則提高上述攝像頭的焦距。
可選地,參照圖15,在上述圖12的基礎上,上述拍照組件調整模塊1203可以包括:
原始圖像顏色值獲取單元12035,用于獲取上述原始圖像的顏色值;
焦距微調單元12036,用于若上述原始圖像的顏色值大于預設顏色值閾值,則獲取上述攝像頭的焦距,并在預設范圍內對上述焦距進行調整。
可選地,參照圖16,在上述圖12的基礎上,上述二維碼掃描識別裝置1200可以包括:
目標圖像顏色值獲取模塊1205,用于獲取上述目標圖像各像素點的顏色值;
第二位置探測圖形確認模塊1206,用于確認上述二維碼的位置探測圖形在上述目標圖像中的位置;
位置探測圖形顏色值獲取模塊1207,用于根據上述位置探測圖形的位置,獲取對應上述位置探測圖形的像素點的顏色值作為主顏色值;
像素點顏色值重置模塊1208,用于分別針對上述各像素點,若上述像素點的顏色值與上述主顏色值的差值大于預設色差閾值,則將上述像素點的顏色值重置為預設的第一顏色值。
上述二維碼掃描識別裝置1200能夠實現圖6至圖11的方法實施例中移動終端實現的各個過程,為避免重復,這里不再贅述。
本發明實施例一方面通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率;具體地:可以通過調整拍照光源或攝像頭進光量,改善拍照的亮度環境和二維碼的圖像質量,提高二維碼的識別成功率;可以通過提高攝像頭焦距,提高上述二維碼的圖像的有效像素,提高二維碼的識別成功率;可以通過微調攝像頭焦距,提高上述二維碼的圖像清晰度,提高上述二維碼的識別成功率;另一方面,因為采用多種拍照組件的調整策略,因此提高了應用的廣泛性和針對性;再一方面,對二維碼圖像通過剔除雜色進行提取,使得二維碼圖像干凈清晰,提高了二維碼的識別效率。
【裝置實施例四】
圖17是本發明一個實施例的移動終端的框圖。圖17所示的移動終端1700包括:至少一個處理器1701、存儲器1702、至少一個網絡接口1704、其他用戶接口1703、拍照組件1706。移動終端1700中的各個組件通過總線系統1705耦合在一起。可理解,總線系統1705用于實現這些組件之間的連接通信。總線系統1705除包括數據總線之外,還包括電源總線、控制總線和狀態信號總線。但是為了清楚說明起見,在圖17中將各種總線都標為總線系統1705。
其中,用戶接口1703可以包括顯示器、鍵盤或者點擊設備(例如,鼠標,軌跡球(trackball)、觸感板或者觸摸屏等。
上述拍照組件1706可以包括攝像頭、曝光燈、柔光燈等。
本發明實施例中的存儲器1702上存儲有二維碼掃描識別程序,上述二維碼掃描識別程序被處理器1701執行時實現如上述權利要求中任一項上述的二維碼掃描識別方法的步驟。
可以理解,本發明實施例中的存儲器1702可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(read-onlymemory,rom)、可編程只讀存儲器(programmablerom,prom)、可擦除可編程只讀存儲器(erasableprom,eprom)、電可擦除可編程只讀存儲器(electricallyeprom,eeprom)或閃存。易失性存儲器可以是隨機存取存儲器(randomaccessmemory,ram),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的ram可用,例如靜態隨機存取存儲器(staticram,sram)、動態隨機存取存儲器(dynamicram,dram)、同步動態隨機存取存儲器(synchronousdram,sdram)、雙倍數據速率同步動態隨機存取存儲器(doubledataratesdram,ddrsdram)、增強型同步動態隨機存取存儲器(enhancedsdram,esdram)、同步連接動態隨機存取存儲器(synchlinkdram,sldram)和直接內存總線隨機存取存儲器(directrambusram,drram)。本發明實施例描述的系統和方法的存儲器1702旨在包括但不限于這些和任意其它適合類型的存儲器。
在一些實施方式中,存儲器1702存儲了如下的元素,可執行模塊或者數據結構,或者他們的子集,或者他們的擴展集:操作系統17021和應用程序17022。
其中,操作系統17021,包含各種系統程序,例如框架層、核心庫層、驅動層等,用于實現各種基礎業務以及處理基于硬件的任務。應用程序17022,包含各種應用程序,例如媒體播放器(mediaplayer)、瀏覽器(browser)等,用于實現各種應用業務。實現本發明實施例方法的程序可以包含在應用程序17022中。
在本發明實施例中,通過調用存儲器1702存儲的程序或指令,具體的,可以是應用程序17022中存儲的程序或指令,處理器1701用于掃描一二維碼,并進行識別;若識別二維碼失敗,則獲取上述二維碼的原始圖像;若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件1706進行調整,獲得上述二維碼的目標圖像;對上述目標圖像進行識別。
上述本發明實施例揭示的方法可以應用于處理器1701中,或者由處理器1701實現。處理器1701可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器1701中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器1701可以是通用處理器、數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現成可編程門陣列(fieldprogrammablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器1702,處理器1701讀取存儲器1702中的信息,結合其硬件完成上述方法的步驟。
可以理解的是,本發明實施例描述的這些實施例可以用硬件、軟件、固件、中間件、微碼或其組合來實現。對于硬件實現,處理單元可以實現在一個或多個專用集成電路(applicationspecificintegratedcircuits,asic)、數字信號處理器(digitalsignalprocessing,dsp)、數字信號處理設備(dspdevice,dspd)、可編程邏輯設備(programmablelogicdevice,pld)、現場可編程門陣列(field-programmablegatearray,fpga)、通用處理器、控制器、微控制器、微處理器、用于執行本申請上述功能的其它電子單元或其組合中。
對于軟件實現,可通過執行本發明實施例上述功能的模塊(例如過程、函數等)來實現本發明實施例上述的技術。軟件代碼可存儲在存儲器中并通過處理器執行。存儲器可以在處理器中或在處理器外部實現。
可選地,處理器1701還用于:上述拍照組件1706包括攝像頭、曝光燈和柔光燈時,對上述原始圖像進行灰度處理,獲取上述原始圖像的灰度值和灰度梯度;若上述原始圖像的灰度值小于第一預設灰度值閾值,則啟用上述曝光燈或上述柔光燈作為拍照光源。
可選地,處理器1701還用于:上述拍照組件1706包括攝像頭時,掃描上述原始圖像,獲取上述二維碼的原始圖像的占屏比;若上述占屏比小于預設占屏比,則提高上述攝像頭的焦距。
可選地,處理器1701還用于:上述拍照組件1706包括攝像頭時,獲取上述原始圖像的顏色值;若上述原始圖像的顏色值大于預設顏色值閾值,則獲取上述攝像頭的焦距,并在預設范圍內對上述焦距進行調整。
可選地,處理器1701還用于:獲取上述目標圖像各像素點的顏色值;確認上述二維碼的位置探測圖形在上述目標圖像中的位置;根據上述位置探測圖形的位置,獲取對應上述位置探測圖形的像素點的顏色值作為主顏色值;分別針對上述各像素點,若上述像素點的顏色值與上述主顏色值的差值大于預設色差閾值,則將上述像素點的顏色值重置為預設的第一顏色值。
移動終端1700能夠實現前述實施例中移動終端實現的各個過程,為避免重復,這里不再贅述。
本發明實施例一方面通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率;具體地:可以通過調整拍照光源或攝像頭進光量,改善拍照的亮度環境和二維碼的圖像質量,提高二維碼的識別成功率;可以通過提高攝像頭焦距,提高上述二維碼的圖像的有效像素,提高二維碼的識別成功率;可以通過微調攝像頭焦距,提高上述二維碼的圖像清晰度,提高上述二維碼的識別成功率;另一方面,因為采用多種拍照組件的調整策略,因此提高了應用的廣泛性和針對性;再一方面,對二維碼圖像通過剔除雜色進行提取,使得二維碼圖像干凈清晰,提高了二維碼的識別效率。
【裝置實施例五】
圖18是本發明另一個實施例的移動終端的結構示意圖。具體地,圖18中的移動終端1800可以為手機、平板電腦、個人數字助理(personaldigitalassistant,pda)、或車載電腦等。
圖18中的移動終端1800包括射頻(radiofrequency,rf)電路1810、存儲器1820、輸入單元1830、顯示單元1840、處理器1860、音頻電路1870、wifi(wirelessfidelity)模塊1880、電源1890、拍照組件1850。
本發明實施例中的存儲器1820上存儲有二維碼掃描識別程序,上述二維碼掃描識別程序被處理器1860執行時實現如上述權利要求中任一項上述的二維碼掃描識別方法的步驟。
其中,輸入單元1830可用于接收用戶輸入的數字或字符信息,以及產生與移動終端1800的用戶設置以及功能控制有關的信號輸入。具體地,本發明實施例中,該輸入單元1830可以包括觸控面板1831。觸控面板1831,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1831上的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板1831可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給該處理器1860,并能接收處理器1860發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板1831。除了觸控面板1831,輸入單元1830還可以包括其他輸入設備1832,其他輸入設備1832可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
其中,顯示單元1840可用于顯示由用戶輸入的信息或提供給用戶的信息以及移動終端1800的各種菜單界面。顯示單元1840可包括顯示面板1841,可選的,可以采用lcd或有機發光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板1841。
應注意,觸控面板1831可以覆蓋顯示面板1841,形成觸摸顯示屏,當該觸摸顯示屏檢測到在其上或附近的觸摸操作后,傳送給處理器1860以確定觸摸事件的類型,隨后處理器1860根據觸摸事件的類型在觸摸顯示屏上提供相應的視覺輸出。
觸摸顯示屏包括應用程序界面顯示區及常用控件顯示區。該應用程序界面顯示區及該常用控件顯示區的排列方式并不限定,可以為上下排列、左右排列等可以區分兩個顯示區的排列方式。該應用程序界面顯示區可以用于顯示應用程序的界面。每一個界面可以包含至少一個應用程序的圖標和/或widget桌面控件等界面元素。該應用程序界面顯示區也可以為不包含任何內容的空界面。該常用控件顯示區用于顯示使用率較高的控件,例如,設置按鈕、界面編號、滾動條、電話本圖標等應用程序圖標等。
其中處理器1860是移動終端1800的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在第一存儲器1821內的軟件程序和/或模塊,以及調用存儲在第二存儲器1822內的數據,執行移動終端1800的各種功能和處理數據,從而對移動終端1800進行整體監控。可選的,處理器1860可包括一個或多個處理單元。
上述拍照組件1850可以包括攝像頭、曝光燈、柔光燈等。
在本發明實施例中,通過調用存儲該第一存儲器1821內的軟件程序和/或模塊和/或該第二存儲器1822內的數據,處理器1860用于掃描一二維碼,并進行識別;若識別二維碼失敗,則獲取上述二維碼的原始圖像;若上述原始圖像滿足預設條件,則按照上述預設條件對應的調整策略對上述移動終端的拍照組件1850進行調整,獲得上述二維碼的目標圖像;對上述目標圖像進行識別。
可選地,處理器1860還用于:上述拍照組件1850包括攝像頭、曝光燈和柔光燈時,對上述原始圖像進行灰度處理,獲取上述原始圖像的灰度值和灰度梯度;若上述原始圖像的灰度值小于第一預設灰度值閾值,則啟用上述曝光燈或上述柔光燈作為拍照光源。
可選地,處理器1860還用于:上述拍照組件1850包括攝像頭時,掃描上述原始圖像,獲取上述二維碼的原始圖像的占屏比;若上述占屏比小于預設占屏比,則提高上述攝像頭的焦距。
可選地,處理器1860還用于:上述拍照組件1850包括攝像頭時,獲取上述原始圖像的顏色值;若上述原始圖像的顏色值大于預設顏色值閾值,則獲取上述攝像頭的焦距,并在預設范圍內對上述焦距進行調整。
可選地,處理器1860還用于:獲取上述目標圖像各像素點的顏色值;確認上述二維碼的位置探測圖形在上述目標圖像中的位置;根據上述位置探測圖形的位置,獲取對應上述位置探測圖形的像素點的顏色值作為主顏色值;分別針對上述各像素點,若上述像素點的顏色值與上述主顏色值的差值大于預設色差閾值,則將上述像素點的顏色值重置為預設的第一顏色值。
可見,本發明實施例一方面通過在二維碼掃描過程中對拍照組件進行自動智能調整,提高了二維碼掃描的圖像質量,提高了二維碼的識別成功率;具體地:可以通過調整拍照光源或攝像頭進光量,改善拍照的亮度環境和二維碼的圖像質量,提高二維碼的識別成功率;可以通過提高攝像頭焦距,提高上述二維碼的圖像的有效像素,提高二維碼的識別成功率;可以通過微調攝像頭焦距,提高上述二維碼的圖像清晰度,提高上述二維碼的識別成功率;另一方面,因為采用多種拍照組件的調整策略,因此提高了應用的廣泛性和針對性;再一方面,對二維碼圖像通過剔除雜色進行提取,使得二維碼圖像干凈清晰,提高了二維碼的識別效率。
本領域普通技術人員可以意識到,結合本發明實施例中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,上述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
上述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
上述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例上述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上上述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。