TW202011265A - 二維條碼解析方法及裝置 - Google Patents

二維條碼解析方法及裝置 Download PDF

Info

Publication number
TW202011265A
TW202011265A TW108122285A TW108122285A TW202011265A TW 202011265 A TW202011265 A TW 202011265A TW 108122285 A TW108122285 A TW 108122285A TW 108122285 A TW108122285 A TW 108122285A TW 202011265 A TW202011265 A TW 202011265A
Authority
TW
Taiwan
Prior art keywords
algorithm
binary
dimensional barcode
binarization
selection
Prior art date
Application number
TW108122285A
Other languages
English (en)
Other versions
TWI691911B (zh
Inventor
楊磊磊
Original Assignee
香港商阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW202011265A publication Critical patent/TW202011265A/zh
Application granted granted Critical
Publication of TWI691911B publication Critical patent/TWI691911B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本發明揭示一種二維條碼解析方法及裝置。在一次二維條碼解析流程中,總是選出選擇評分最大的二值化演算法作為目標演算法,以對本次抓取的二維條碼影像進行二值化處理,得到二維條碼黑白影像,並且,如果隨後對所述二維條碼黑白影像識別失敗,則根據所述二維條碼黑白影像的二值化效果的優劣,重新確定所述目標演算法對應的選擇評分。需要說明的是,如果所述二維條碼黑白影像的二值化效果越好,則重新確定的所述目標演算法對應的選擇評分越高。

Description

二維條碼解析方法及裝置
本說明書實施例涉及資訊技術領域,尤其涉及一種二維條碼解析方法及裝置。
目前,二維條碼作為一種資訊載體,廣泛應用於各行業領域。例如,在行動支付領域,付款方可以使用手機等掃碼設備從收款方提供的二維條碼中解析出收款方的帳戶資訊,從而可以在線向收款方付款。 對二維條碼進行解析的過程主要包括如下步驟: 1、掃描二維條碼,以便抓取一幀二維條碼影像。 2、從預設的至少兩個二值化演算法中隨機選擇一個二值化演算法,採用隨機選擇的二值化演算法對抓取的二維條碼影像進行二值化處理,得到二維條碼黑白影像。 3、對二維條碼黑白影像進行識別(一般包括樁點查找、譯碼、資訊糾錯等步驟),若識別成功,則得到二進制資訊,若識別失敗,則返回步驟1重新抓取一幀二維條碼影像,直至識別成功。 基於現有技術,需要一種成功率更高的二維條碼解析方法。
針對現有的二維條碼解析方法成功率較低的問題,本說明書實施例提供一種二維條碼解析方法及裝置,技術方案如下: 根據本說明書實施例的第1態樣,提供一種二維條碼解析方法,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分,所述方法包括: 獲取對應於待解析二維條碼的二維條碼影像; 基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 對所述二維條碼黑白影像進行識別; 若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇評分正相關; 重新獲取對應於所述待解析二維條碼的二維條碼影像,直至識別成功。 根據本說明書實施例的第2態樣,提供另一種二維條碼解析方法,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇機率,針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關,所述方法包括: 獲取對應於待解析二維條碼的二維條碼影像; 基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 對所述二維條碼黑白影像進行識別; 若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關; 重新獲取對應於所述待解析二維條碼的二維條碼影像,直至識別成功。 根據本說明書實施例的第3態樣,提供一種二維條碼解析裝置,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分,所述裝置包括: 獲取模組,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組,對所述二維條碼黑白影像進行識別; 選擇評分重置模組,若所述識別模組識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇評分正相關;以及,指令所述獲取模組重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組識別成功。 根據本說明書實施例的第4態樣,提供另一種二維條碼解析裝置,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇機率,針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關,所述裝置包括: 獲取模組,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組,對所述二維條碼黑白影像進行識別; 選擇機率重置模組,若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關;以及,指令所述獲取模組重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組識別成功。 本說明書實施例所提供的技術方案,在一次二維條碼解析流程中,總是選出選擇評分最大的二值化演算法作為目標演算法,以對本次抓取的二維條碼影像進行二值化處理,得到二維條碼黑白影像,並且,如果隨後對所述二維條碼黑白影像識別失敗,則根據所述二維條碼黑白影像的二值化效果的優劣,重新確定所述目標演算法對應的選擇評分。需要說明的是,如果所述二維條碼黑白影像的二值化效果越好,則重新確定的所述目標演算法對應的選擇評分越高。也就是說,在每次對二維條碼進行解析時,都儘量選擇二值化效果較好的二值化演算法對本次抓取的二維條碼影像進行二值化,從而可以儘量得到易於識別的二維條碼黑白影像。這也就意味著,提升了每次對二維條碼解析成功的機率,從而可以用更少的解析次數,解析出二維條碼中的二進制資訊,提升二維條碼解析成功率。 應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書實施例。 此外,本說明書實施例中的任一實施例並不需要達到上述的全部效果。
二維條碼解析成功率,與執行二維條碼解析流程的次數呈反比。也就是說,針對某個二維條碼,對該二維條碼嘗試進行解析的次數越多,二維條碼解析成功率越低。 在一次二維條碼解析流程中,影響二維條碼解析成功率的因素主要有以下兩點: 1、選擇的二值化演算法是否合適。實踐中,由於同一個二維條碼在不同環境下所依附的載體、所處的光照條件等往往存在差異,因此,在不同環境下針對同一二維條碼抓取的二維條碼影像會存在顯著差別。例如,在光照較強的環境中抓取的二維條碼影像往往因過曝而泛白,通常適合使用局部自適應二值化演算法。這意味著,為了取得較好的二值化效果,得到易於識別的二維條碼黑白影像,需要考慮二維條碼所處的環境條件,針對性地選擇對在當前環境下抓取的二維條碼黑白影像處理效果較好的二值化演算法。 然而,使用者在操作掃碼設備(如手機)掃描二維條碼時,掃碼設備並不能採集到二維條碼所處的環境的相關資訊,也就無法針對性的選擇合適的二值化演算法對抓取的二維條碼影像進行二值化處理。當採用的二值化演算法並不適合處理在當前環境下抓取的二維條碼影像時,得到的二維條碼黑白影像往往是難以被識別的,如此,就會導致本次二維條碼解析失敗,需要再次嘗試進行解析,從而拉低了成功率,降低了解析效率。 2、使用者對二維條碼的掃碼操作是否得當。實踐中,使用者當想要操作掃碼設備掃描二維條碼時,不一定能夠立即在近距離對準二維條碼進行掃描,從而不一定能夠抓取到品質較高的二維條碼影像,二值化後得到的二維條碼黑白影像也往往難以識別。使用者往往會不斷調整掃碼設備的掃描角度、掃描距離,而在使用者的調整過程中,掃碼設備事實上在不斷嘗試對掃描到的二維條碼進行解析,即已經執行了多次解析流程並失敗,這就拉低了解析成功率。 此外需要說明的是,實踐中往往會出現這種情況,即對於一次解析流程,雖然在本次解析流程中選用的二值化演算法是合適的(即與二維條碼所處的環境條件匹配),但是由於使用者掃碼操作不當,在本次解析流程中抓取的二維條碼影像品質較差,導致二值化後得到的二維條碼黑白影像依然難以識別。 基於以上,在現有技術中,在一次解析流程中,通常是從預設的至少兩個二值化演算法中,隨機選擇一個二值化演算法對本次抓取的二維條碼影像進行處理。如果本次解析失敗,就再嘗試解析一次,直至解析成功。 而在本說明書實施例中,如果一次解析失敗,則根據本次解析流程中對二維條碼影像的二值化效果,對本次解析流程中採用的二值化演算法對應的選擇評分進行重置,二值化效果越好,選擇評分越高。如此,在一次解析流程中,總選擇選擇評分最高的二值化演算法對本次抓取的二維條碼影像進行處理。這意味著,透過本說明書實施例,解析成功率一般只會受到上述因素2的制約,卻很少受到上述因素1的制約。如此,可以顯著減少對二維條碼的解析次數,提升解析成功率。 為了使本領域技術人員更好地理解本說明書實施例中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於保護的範圍。 以下結合附圖,詳細說明本說明書各實施例提供的技術方案。 圖1是本說明書實施例提供的一種二維條碼解析方法的流程示意圖,包括以下步驟: S100:獲取對應於待解析二維條碼的二維條碼影像。 本方法的執行主體可以是具有資料處理功能的掃碼設備,也可以是能夠從掃碼設備獲取二維條碼影像的資料處理設備。為了描述的方便,本文將執行主體稱為解析設備。 在實踐中,在對待解析二維條碼進行掃描後,一般會直接得到待解析二維條碼對應的二維條碼彩色影像。隨後,解析設備會將該二維條碼彩色影像首先轉換成二維條碼灰度影像。本文所述的二維條碼影像一般是指所述二維條碼灰度影像。 S102:基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像。 在本說明書實施例中,可以預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分。 其中,可以根據實際情況,對所述演算法集合中每個二值化演算法對應的選擇評分進行初始化。針對每個二值化演算法,該二值化演算法對應的初始化的選擇評分並不是根據在當前環境條件下該二值化演算法的二值化效果確定的。 這就意味著,在第一次對所述待解析二維條碼進行解析時,在步驟S102中,實際上是隨機選出的一種二值化演算法演算法作為目標演算法。 S104:對所述二維條碼黑白影像進行識別。 S105:若識別成功,則不再執行圖1所示的流程。 S108:若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分。 解析設備如果對步驟S102中得到的二維條碼黑白影像識別失敗,則意味著所述二維條碼黑白影像的二值化效果不佳,有以下3種可能的原因: 1、所述目標演算法並不是合適的二值化演算法,即與當前環境並不匹配。 2、本次抓取的二維條碼影像品質不高。 3、所述目標演算法並不是合適的二值化演算法,且本次抓取的二維條碼影像品質不高。 不論是上述哪一種可能的原因,解析設備在步驟S108中,可以對所述二維條碼黑白影像的二值化效果進行量化,得到二值化效果特徵值,並根據得到的二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分。其中,所述二值化效果特徵值越大,所述二維條碼黑白影像的二值化效果越好;所述二值化效果特徵值越大,重新確定的對應於所述目標演算法的選擇評分越高。 在本說明書實施例中,可以有多種方式確定所述二值化效果特徵值。 例如,可以根據本次識別開始至識別失敗所花費的時長,確定所述二值化效果特徵值。對所述二維條碼黑白影像進行識別時所花費的時長越長,意味著二值化效果越差。 例如,可以獲取所述二維條碼黑白影像對應的定位區域識別率,根據所述定位區域識別率,確定二值化效果特徵值。其中,所述定位區域準確率是所述二維條碼黑白影像中,可識別出的定位區域的數量與定位區域的總數量的比值。一般而言,所述定位區域準確率越高,二值化效果就越好,意味著所述二值化效果特徵值就越大。 例如,可以獲取所述二維條碼黑白影像對應的資訊污損率,根據所述資訊污損率,確定二值化效果特徵值。其中,所述資訊污損率是所述二維條碼黑白影像中,未識別出的資料量與全部資料量的比值。一般而言,所述資訊污損率越高,二值化效果就越差,意味著所述二值化效果特徵值就越小。 當然,也可以根據所述定位區域識別率和所述資訊污損率,確定二值化效果特徵值。 在執行了步驟S108之後,需要重新開始執行步驟S100,以再觸發一次解析流程,直到在步驟S104中識別成功(意味著解析成功)。當解析成功時,則停止執行圖1所示的方法。需要說明的是,當重新開始執行步驟S100時,通常意味著重新獲取對應於所述待解析二維條碼的一幀二維條碼影像,重新獲取的二維條碼影像可以與上一次獲取的二維條碼影像相同,也可以不同。 值得強調的是,如前所述,在不同的環境條件下,最合適的二值化演算法一般不同。因此,可以認為,假設有多種不同的環境條件,各種環境條件分別對應的最優(即最匹配)二值化演算法不同。進而可以認為,步驟S108中確定的二值化效果特徵值,實際上是在一次解析流程中,結合對當前環境條件與所述目標演算法之間的匹配程度進行分析與對本次抓取的二維條碼影像的品質進行分析所得到的綜合量化結果。 這也就意味著,在一次解析流程中,雖然會將選擇評分最大的二值化演算法選出,作為目標演算法。但是,選出的目標演算法並不一定是與當前環境最匹配的二值化演算法。這是因為,二值化演算法對應的選擇評分不僅受到二值化演算法與當前環境的匹配程度的影響,還受到在一次解析流程中抓取的二維條碼影像的品質的影響。 某個二值化演算法對應的選擇評分最高,只說明該二值化演算法與當前環境較為匹配,卻無法說明該二值化演算法與當前環境最為匹配。 因此,在本說明書實施例中,透過疊代執行圖1所示的解析流程,可以透過一次次疊代,逐漸弱化抓取的二維條碼影像品質對步驟S104中識別結果的影響,而逐漸強化二值化演算法與當前環境匹配程度對步驟S104中識別結果的影響。從而可以透過較少的疊代次數,解析出二維條碼中的二進制資訊。 此外還需要說明的是,在對所述演算法集合中每個二值化演算法對應的選擇評分進行初始化時,可以為每個二值化演算法對應的選擇評分初始化為一個既不太高,又不太低的分值。例如,假設選擇評分採用百分制,那麼,可以將每個二值化演算法對應的選擇評分初始化為50分。 相應的,在步驟S108中,如果目標演算法的二值化效果較好,則重新確定的對應於目標演算法的選擇評分通常會高於50分;如果目標演算法的二值化效果較差,則重新確定的對應於目標演算法的選擇評分通常會低於50分。 這樣做的目的,是為了使得在當前環境條件下,一次解析流程中,二值化效果較好的二值化演算法更容易被選出,二值化效果較差的二值化演算法更不容易被選出。並且,如果暫時並未發現二值化效果較好的二值化演算法,那麼就在下一次解析流程中,優先選擇還未被選擇過的二值化演算法進行嘗試。 進一步地,在當前環境條件下,為了以盡可能少的解析次數,儘快根據每種二值化演算法的二值化效果重新確定每種二值化演算法對應的選擇評分,就需要在前幾次解析時,不重複得依次採用每個二值化演算法進行二值化處理。 因此,在本說明書實施例中,具體可以初始化所述演算法集合中每個二值化演算法對應的選擇評分為,不小於指定分值的分值。在步驟S108中,可以重新確定對應於所述目標二值化演算法的選擇評分為,小於所述指定分值的分值。 或者,在本說明書實施例中,在步驟S102中,具體可以判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法。 另外,在步驟S108中,若所述二值化效果特徵值小於預設值,則從所述演算法集合中刪除所述目標演算法。也就是說,在一次解析流程中,如果在本次解析時選用的二值化演算法的二值化效果太差,那麼就直接該二值化演算法排除出演算法集合,不再參與後續若干解析流程中的評選。如此,可以進一步減少解析次數,提升解析成功率。 透過圖1所示的方法,在每次對二維條碼進行解析時,都可以儘量選擇二值化效果最好的二值化演算法對本次抓取的二維條碼影像進行二值化,從而可以儘量得到易於識別的二維條碼黑白影像。這也就意味著,提升了每次對二維條碼解析成功的機率,從而可以用更少的解析次數,解析出二維條碼中的二進制資訊,提升二維條碼解析成功率。 圖2是本說明書實施例提供的另一種二維條碼解析方法的流程示意圖,包括如下步驟: S200:獲取對應於待解析二維條碼的二維條碼影像。 S202:基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像。 S204:對所述二維條碼黑白影像進行識別。 S205:若識別成功,則不再執行圖2所示的流程。 S208:若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率。 其中,所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關。 圖2所示的方法與圖1所示的方法基於相同的發明構思,二者的區別在於,在圖2所示的方法中,以每個二值化演算法對應的選擇機率為一次解析流程中的二值化演算法的評選依據。針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關。 需要說明的是,在一次解析流程中,哪怕某個二值化演算法對應的選擇機率最高,也不一定會選出該二值化演算法作為目標演算法。 在圖2所示的方法中,類似地,也需要預先針對演算法集合中的每個二值化演算法,初始化該二值化演算法對應的選擇機率。 在圖2所示的方法中,在當前環境條件下,為了以盡可能少的解析次數,儘快根據每種二值化演算法的二值化效果重新確定每種二值化演算法對應的選擇機率,就需要在前幾次解析時,盡可能不重複得依次採用每個二值化演算法進行二值化處理。 為此,可以初始化所述演算法集合中每個二值化演算法對應的選擇機率為,不小於指定機率值的機率值。相應的,在步驟S108中,重新確定對應於所述目標演算法的選擇機率為,小於所述指定機率值的機率值。 或者,可以在步驟S102中,判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法。 基於圖1所示的二維條碼解析方法,本說明書實施例還對應提供了一種二維條碼解析裝置,如圖3所示,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分,所述裝置包括: 獲取模組301,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組302,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組303,對所述二維條碼黑白影像進行識別; 選擇評分重置模組304,若所述識別模組識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇評分正相關;以及,指令所述獲取模組301重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組303識別成功。 初始化所述演算法集合中每個二值化演算法對應的選擇評分,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇評分為,不小於指定分值的分值; 所述選擇評分重置模組304,重新確定對應於所述目標二值化演算法的選擇評分為,小於所述指定分值的分值。 所述二值化模組302,判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法。 所述選擇評分重置模組304,獲取所述二維條碼黑白影像對應的定位區域識別率及/或資訊污損率;根據所述定位區域識別率及/或所述資訊污損率,確定二值化效果特徵值;所述定位區域準確率與所述二值化效果特徵值正相關,所述資訊污損率與所述二值化效果特徵值負相關; 其中,所述定位區域準確率是所述二維條碼黑白影像中,可識別出的定位區域的數量與定位區域的總數量的比值;資訊污損率是所述二維條碼黑白影像中,未識別出的資料量與全部資料量的比值。 所述裝置還包括: 刪除模組305,若所述二值化效果特徵值小於預設值,則從所述演算法集合中刪除所述目標演算法。 基於圖2所示的二維條碼解析方法,本說明書實施例還對應提供了一種二維條碼解析裝置,如圖4所示,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇機率,針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關,所述裝置包括: 獲取模組401,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組402,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組403,對所述二維條碼黑白影像進行識別; 選擇機率重置模組404,若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關;以及,指令所述獲取模組401重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組403識別成功。 初始化所述演算法集合中每個二值化演算法對應的選擇機率,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇機率為,不小於指定機率值的機率值; 所述選擇機率重置模組404,重新確定對應於所述目標演算法的選擇機率為,小於所述指定機率值的機率值。 所述二值化模組402,判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法。 本說明書實施例還提供一種電腦設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行所述程式時實現圖1和圖2所示的二維條碼解析方法。 圖5示出了本說明書實施例所提供的一種更為具體的電腦設備硬體結構示意圖,該設備可以包括:處理器1010、記憶體1020、輸入/輸出介面1030、通信介面1040和匯流排1050。其中處理器1010、記憶體1020、輸入/輸出介面1030和通信介面1040透過匯流排1050實現彼此之間在設備內部的通信連接。 處理器1010可以採用通用的CPU(Central Processing Unit,中央處理器)、微處理器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、或者一個或多個積體電路等方式實現,用於執行相關程式,以實現本說明書實施例所提供的技術方案。 記憶體1020可以採用ROM(Read Only Memory,唯讀記憶體)、RAM(Random Access Memory,隨機存取記憶體)、靜態儲存設備,動態儲存設備等形式實現。記憶體1020可以儲存作業系統和其他應用程式,在透過電腦軟體或者韌體來實現本說明書實施例所提供的技術方案時,相關的程式碼保存在記憶體1020中,並由處理器1010來呼叫執行。 輸入/輸出介面1030用於連接輸入/輸出模組,以實現資訊輸入及輸出。輸入輸出/模組可以作為組件配置在設備中(圖中未示出),也可以外接於設備以提供相應功能。其中輸入設備可以包括鍵盤、滑鼠、觸控螢幕、麥克風、各類感測器等,輸出設備可以包括顯示器、喇叭、振動器、指示燈等。 通信介面1040用於連接通信模組(圖中未示出),以實現本設備與其他設備的通信交互。其中通信模組可以透過有線方式(例如USB、網線等)實現通信,也可以透過無線方式(例如行動網路、WIFI、藍牙等)實現通信。 匯流排1050包括一通路,在設備的各個組件(例如處理器1010、記憶體1020、輸入/輸出介面1030和通信介面1040)之間傳輸資訊。 需要說明的是,儘管上述設備僅示出了處理器1010、記憶體1020、輸入/輸出介面1030、通信介面1040以及匯流排1050,但是在具體實施過程中,該設備還可以包括實現正常運行所必需的其他組件。此外,本領域的技術人員可以理解的是,上述設備中也可以僅包含實現本說明書實施例方案所必需的組件,而不必包含圖中所示的全部組件。 本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,該程式被處理器執行時實現圖1和圖2所示的二維條碼解析方法。 電腦可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他內存技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁卡式磁帶,磁帶式磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被電腦設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。 透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書實施例可借助電腦軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本說明書實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以電腦軟體產品的形式體現出來,該電腦電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本說明書實施例各個實施例或者實施例的某些部分所述的方法。 上述實施例闡明的系統、方法、模組或單元,具體可以由電腦芯片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲主機、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。 本說明書中的各個實施例均採用循序的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於方法實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的方法實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,在實施本說明書實施例方案時可以把各模組的功能在同一個或多個電腦軟體及/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出進步性勞動的情況下,即可以理解並實施。 以上所述僅是本說明書實施例的具體實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本說明書實施例原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本說明書實施例的保護範圍。
S100:步驟 S102:步驟 S104:步驟 S105:步驟 S106:步驟 S108:步驟 S200:步驟 S202:步驟 S204:步驟 S206:步驟 S208:步驟 301:獲取模組 302:二值化模組 303:識別模組 304:選擇評分重置模組 305:刪除模組 401:獲取模組 402:二值化模組 403:識別模組 404:選擇機率重置模組 1010:處理器 1020:記憶體 1030:輸入/輸出介面 1040:通信介面 1050:匯流排
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書實施例中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。 圖1是本說明書實施例提供的一種二維條碼解析方法的流程示意圖; 圖2是本說明書實施例提供的另一種二維條碼解析方法的流程示意圖; 圖3是本說明書實施例提供的一種二維條碼解析裝置的結構示意圖; 圖4是本說明書實施例提供的另一種二維條碼解析裝置的結構示意圖; 圖5是用於配置本說明書實施例方法的一種設備的結構示意圖。

Claims (18)

  1. 一種二維條碼解析方法,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分,所述方法包括: 獲取對應於待解析二維條碼的二維條碼影像; 基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 對所述二維條碼黑白影像進行識別; 若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇評分正相關; 重新獲取對應於所述待解析二維條碼的二維條碼影像,直至識別成功。
  2. 如請求項1所述的方法,初始化所述演算法集合中每個二值化演算法對應的選擇評分,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇評分為,不小於指定分值的分值; 重新確定對應於所述目標二值化演算法的選擇,具體包括: 重新確定對應於所述目標二值化演算法的選擇評分為,小於所述指定分值的分值。
  3. 如請求項1所述的方法,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,具體包括: 判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法; 若是,則從未被選出過的二值化演算法中選出一個二值化演算法; 否則,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法。
  4. 如請求項1所述的方法,確定二值化效果特徵值,具體包括: 獲取所述二維條碼黑白影像對應的定位區域識別率及/或資訊污損率; 根據所述定位區域識別率及/或所述資訊污損率,確定二值化效果特徵值;所述定位區域準確率與所述二值化效果特徵值正相關,所述資訊污損率與所述二值化效果特徵值負相關; 其中,所述定位區域準確率是所述二維條碼黑白影像中,可識別出的定位區域的數量與定位區域的總數量的比值;所述資訊污損率是所述二維條碼黑白影像中,未識別出的資料量與全部資料量的比值。
  5. 如請求項1所述的方法,所述方法還包括: 若所述二值化效果特徵值小於預設值,則從所述演算法集合中刪除所述目標演算法。
  6. 一種二維條碼解析方法,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇機率,針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關,所述方法包括: 獲取對應於待解析二維條碼的二維條碼影像; 基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 對所述二維條碼黑白影像進行識別; 若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關; 重新獲取對應於所述待解析二維條碼的二維條碼影像,直至識別成功。
  7. 如請求項6所述的方法,初始化所述演算法集合中每個二值化演算法對應的選擇機率,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇機率為,不小於指定機率值的機率值; 重新確定對應於所述目標演算法的選擇機率,具體包括: 重新確定對應於所述目標演算法的選擇機率為,小於所述指定機率值的機率值。
  8. 如請求項6所述的方法,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,具體包括: 判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法; 若是,則從未被選出過的二值化演算法中選出一個二值化演算法; 否則,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法。
  9. 一種二維條碼解析裝置,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇評分,所述裝置包括: 獲取模組,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組,對所述二維條碼黑白影像進行識別; 選擇評分重置模組,若所述識別模組識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇評分;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇評分正相關;以及,指令所述獲取模組重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組識別成功。
  10. 如請求項9所述的裝置,初始化所述演算法集合中每個二值化演算法對應的選擇評分,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇評分為,不小於指定分值的分值; 所述選擇評分重置模組,重新確定對應於所述目標二值化演算法的選擇評分為,小於所述指定分值的分值。
  11. 如請求項9所述的裝置,所述二值化模組,判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇評分,從所述演算法集合中選出一個選擇評分最大的二值化演算法。
  12. 如請求項9所述的裝置,所述選擇評分重置模組,獲取所述二維條碼黑白影像對應的定位區域識別率及/或資訊污損率;根據所述定位區域識別率及/或所述資訊污損率,確定二值化效果特徵值;所述定位區域準確率與所述二值化效果特徵值正相關,所述資訊污損率與所述二值化效果特徵值負相關; 其中,所述定位區域準確率是所述二維條碼黑白影像中,可識別出的定位區域的數量與定位區域的總數量的比值;所述資訊污損率是所述二維條碼黑白影像中,未識別出的資料量與全部資料量的比值。
  13. 如請求項9所述的裝置,所述裝置還包括: 刪除模組,若所述二值化效果特徵值小於預設值,則從所述演算法集合中刪除所述目標演算法。
  14. 一種二維條碼解析裝置,預先設置包含至少兩個二值化演算法的演算法集合,並初始化所述演算法集合中每個二值化演算法對應的選擇機率,針對每個二值化演算法,該二值化演算法對應選擇機率與該二值化演算法被選出的可能性正相關,所述裝置包括: 獲取模組,獲取對應於待解析二維條碼的二維條碼影像; 二值化模組,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法,作為目標演算法,並使用所述目標演算法,對所述二維條碼影像進行二值化處理,得到二維條碼黑白影像; 識別模組,對所述二維條碼黑白影像進行識別; 選擇機率重置模組,若識別失敗,則確定二值化效果特徵值,並根據所述二值化效果特徵值,重新確定對應於所述目標演算法的選擇機率;所述二值化效果特徵值,與所述二維條碼黑白影像的二值化效果正相關,且與重新確定的對應於所述目標演算法的選擇機率正相關;以及,指令所述獲取模組重新獲取對應於所述待解析二維條碼的二維條碼影像,直至所述識別模組識別成功。
  15. 如請求項14所述的裝置,初始化所述演算法集合中每個二值化演算法對應的選擇機率,具體包括: 初始化所述演算法集合中每個二值化演算法對應的選擇機率為,不小於指定機率值的機率值; 所述選擇機率重置模組,重新確定對應於所述目標演算法的選擇機率為,小於所述指定機率值的機率值。
  16. 如請求項14所述的裝置,所述二值化模組,判斷所述演算法集合中是否存在至少一個未被選出過的二值化演算法;若是,則從未被選出過的二值化演算法中選出一個二值化演算法;否則,基於所述演算法集合中每個二值化演算法對應的選擇機率,從所述演算法集合中選出一個二值化演算法。
  17. 一種電腦設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,所述處理器執行所述程式時實現如請求項1至5任一項所述的方法。
  18. 一種電腦設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,所述處理器執行所述程式時實現如請求項6至8任一項所述的方法。
TW108122285A 2018-08-31 2019-06-26 二維條碼解析方法及裝置 TWI691911B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811010259.9A CN109255277B (zh) 2018-08-31 2018-08-31 一种二维码解析方法及装置
CN201811010259.9 2018-08-31

Publications (2)

Publication Number Publication Date
TW202011265A true TW202011265A (zh) 2020-03-16
TWI691911B TWI691911B (zh) 2020-04-21

Family

ID=65049997

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108122285A TWI691911B (zh) 2018-08-31 2019-06-26 二維條碼解析方法及裝置

Country Status (3)

Country Link
CN (1) CN109255277B (zh)
TW (1) TWI691911B (zh)
WO (1) WO2020042790A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255277B (zh) * 2018-08-31 2020-04-28 阿里巴巴集团控股有限公司 一种二维码解析方法及装置
CN111488752A (zh) * 2019-01-29 2020-08-04 北京骑胜科技有限公司 二维码识别方法、装置、电子设备及存储介质
CN111259680B (zh) * 2020-02-13 2022-04-12 支付宝(杭州)信息技术有限公司 二维码图像二值化处理方法及装置
CN111931884A (zh) * 2020-08-07 2020-11-13 北京字节跳动网络技术有限公司 性能数据采集方法、装置和电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560349B1 (en) * 1994-10-21 2003-05-06 Digimarc Corporation Audio monitoring using steganographic information
US20060027657A1 (en) * 2004-08-04 2006-02-09 Laurens Ninnink Method and apparatus for high resolution decoding of encoded symbols
US8576446B2 (en) * 2009-08-21 2013-11-05 Konica Minolta Laboratory U.S.A., Inc. Deblurring and supervised adaptive thresholding for print-and-scan document image evaluation
US9111186B2 (en) * 2011-10-12 2015-08-18 University Of Rochester Color barcodes for mobile applications: a per channel framework
CN103235948B (zh) * 2013-04-22 2016-04-20 中山大学 一种二维条码的自适应阈值二值化方法
EP2806374B1 (en) * 2013-05-24 2022-07-06 Tata Consultancy Services Limited Method and system for automatic selection of one or more image processing algorithm
TW201531954A (zh) * 2013-12-17 2015-08-16 Sicpa Holding Sa 二維識別圖案、包括此圖案之製品,及用於標記及識別此圖案之方法
CN104063874B (zh) * 2014-07-09 2017-01-25 武汉科技大学 基于权值模型的灰度图像二值化算法定量评估方法
TWI518547B (zh) * 2014-07-30 2016-01-21 帝商科技股份有限公司 二維條碼的產生及顯示方法
CN104899542B (zh) * 2015-05-27 2017-06-20 广州市韦尔讯信息科技有限公司 一种影像式cmos条码快速识别方法及装置
TWI544419B (zh) * 2015-11-20 2016-08-01 王碩騰 二維條碼之編碼方法、解碼方法與電子裝置
CN105528485B (zh) * 2015-12-07 2019-05-07 常州天能博智能系统科技有限公司 一种从位图自动轮廓提取及路径生成的方法
CN106845312B (zh) * 2016-12-28 2020-08-25 广州智慧城市发展研究院 一种二维码图像质量的预判断方法
CN106682560B (zh) * 2016-12-28 2020-01-31 深圳市共进电子股份有限公司 二维码识别方法、装置和系统
US10373111B2 (en) * 2017-01-31 2019-08-06 Bank Of America Corporation Chip card imaging and verification system
CN107832648A (zh) * 2017-10-24 2018-03-23 深圳市丰巢科技有限公司 一种基于zxing的连续扫描方法及移动终端
CN109255277B (zh) * 2018-08-31 2020-04-28 阿里巴巴集团控股有限公司 一种二维码解析方法及装置

Also Published As

Publication number Publication date
CN109255277B (zh) 2020-04-28
WO2020042790A1 (zh) 2020-03-05
CN109255277A (zh) 2019-01-22
TWI691911B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
TWI691911B (zh) 二維條碼解析方法及裝置
US11854173B2 (en) System and method for finding lines in an image with a vision system
CN107220640B (zh) 字符识别方法、装置、计算机设备和计算机可读存储介质
US11107202B2 (en) Contrast enhancement and reduction of noise in images from cameras
CN104751093B (zh) 用于获取宿主设备显示的图像识别码的方法和装置
JP6160138B2 (ja) パターン認識のためのモアレ除去方法およびこの方法を用いたモアレ除去装置ならびにプログラム
JP2019508921A (ja) フォーカス検出
US9286217B2 (en) Systems and methods for memory utilization for object detection
JP2014508342A (ja) バーコード画像のボケ修正を行う方法、端末、およびコンピュータ可読記録媒体
CN111031359A (zh) 视频播放方法、装置、电子设备和计算机可读存储介质
CN108304840B (zh) 一种图像数据处理方法以及装置
US9378405B2 (en) Determining barcode locations in documents
CN111144156B (zh) 一种图像数据处理方法和相关装置
JP5984880B2 (ja) 画像処理装置
US10373329B2 (en) Information processing apparatus, information processing method and storage medium for determining an image to be subjected to a character recognition processing
WO2019011017A1 (zh) 噪点处理方法及装置
CN115393441B (zh) 一种基于液晶光闭环系统的光斑高精度提取定位方法
CN105631850B (zh) 对齐多视图扫描
US8532391B2 (en) Recognizing a feature of an image independently of the orientation or scale of the image
CN114821596A (zh) 文本识别方法、装置、电子设备和介质
CN111401197A (zh) 一种图片风险识别方法、装置及设备
JP2008542876A (ja) バーコードをデコードする方法およびシステム
CN115345887B (zh) 一种亮斑检测方法、装置、设备及存储介质
CN113034617B (zh) 相机的焦距的获取方法及装置、设备
CN108021697B (zh) 一种基于终端设备的拍照搜题方法、终端设备及存储介质