條碼修正方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種條碼修正方法和裝置。
【背景技術(shù)】
[0002]目前,很多手機(jī)都允許用戶通過攝像頭來掃描條碼,并通過特定的軟件識別該條碼的信息,以完成商品信息查看、交易支付等行為,比較常見的條碼是EAN_13(歐洲物品編碼的縮寫)編碼格式的條碼。
[0003]但是,現(xiàn)在很多的手機(jī)都存在近距離拍攝時聚焦模糊的問題,這就導(dǎo)致用戶通過攝像頭采集到的條碼不夠清楚,難以確定條碼中的黑白線的寬度,這就導(dǎo)致軟件無法解析出該條碼的信息,或解析出錯誤的信息。
[0004]因此,如何將拍攝圖片中模糊的條碼處理清楚,就成為一個重要的課題。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的條碼修正方法和裝置。
[0006]依據(jù)本發(fā)明的一個方面,提供了一種條碼修正方法,包括:
[0007]識別包含條碼的圖片中的黑線與白線的邊界;根據(jù)所述黑線與所述白線的邊界,確定所述條碼的開始區(qū)域和/或結(jié)束區(qū)域;將所述開始區(qū)域和/或所述結(jié)束區(qū)域除以預(yù)設(shè)正整數(shù),得到所述條碼中的最細(xì)線的寬度;根據(jù)所述最細(xì)線的寬度,在所述圖片中調(diào)整所述黑線和/或所述白線的寬度,使所述黑線和/或所述白線的寬度為所述最黑線的寬度的正整數(shù)倍。
[0008]可選地,前述的條碼修正方法,識別包含條碼的圖片中的黑線與白線的邊界,具體包括:按所述條碼在所述圖片中的方向,從所述圖片中提取多個位置的顏色值;計(jì)算所述多個位置中相鄰位置的顏色值的差值,根據(jù)所述差值的大小確定所述黑線和所述白線的邊界。
[0009]可選地,前述的條碼修正方法,根據(jù)所述黑線與所述白線的邊界,確定所述條碼的開始區(qū)域和/或結(jié)束區(qū)域,具體包括:根據(jù)已知的所述邊界在所述開始區(qū)域和/或所述結(jié)束區(qū)域中的特征,從所述圖片中確定所述開始區(qū)域和/或所述結(jié)束區(qū)域。
[0010]可選地,前述的條碼修正方法,根據(jù)所述最細(xì)線的寬度,在所述圖片中調(diào)整所述黑線和/或所述白線的寬度,具體包括:對于所述圖片中的待調(diào)整黑線,在所述待調(diào)整黑線的寬度非所述最細(xì)線的寬度的正整數(shù)倍時,比較所述待調(diào)整黑線的顏色值與所述圖片中的多個黑線的平均顏色值;在所述待調(diào)整黑線的顏色值大于所述圖片中的多個黑線的平均顏色值時,增大所述待調(diào)整黑線的寬度直至所述待調(diào)整黑線的寬度為所述最細(xì)線的寬度的正整數(shù)倍;在所述待調(diào)整黑線的顏色值小于所述圖片中的多個黑線的平均顏色值時,減小所述待調(diào)整黑線的寬度直至所述待調(diào)整黑線的寬度為所述最細(xì)線的寬度的正整數(shù)倍。
[0011]可選地,前述的條碼修正方法,在識別包含條碼的圖片中的黑線與白線的邊界之前,還包括:在所述圖片為彩色圖時,將所述彩色圖轉(zhuǎn)換為灰度圖。
[0012]可選地,前述的條碼修正方法,在識別包含條碼的圖片中的黑線與白線的邊界之前,還包括:增大所述圖片的對比度參數(shù)。
[0013]依據(jù)本發(fā)明的另一方面,還提供了一種條碼修正裝置,包括:邊界識別模塊,用于識別包含條碼的圖片中的黑線與白線的邊界;區(qū)域確定模塊,用于根據(jù)所述黑線與所述白線的邊界,確定所述條碼的開始區(qū)域和/或結(jié)束區(qū)域;寬度計(jì)算模塊,用于將所述開始區(qū)域和/或所述結(jié)束區(qū)域除以預(yù)設(shè)正整數(shù),得到所述條碼中的最細(xì)線的寬度;寬度調(diào)整模塊,用于根據(jù)所述最細(xì)線的寬度,在所述圖片中調(diào)整所述黑線和/或所述白線的寬度,使所述黑線和/或所述白線的寬度為所述最黑線的寬度的正整數(shù)倍。
[0014]可選地,前述的條碼修正裝置,還包括:顏色值提取模塊,用于按所述條碼在所述圖片中的方向,從所述圖片中提取多個位置的顏色值;所述邊界識別模塊計(jì)算所述多個位置中相鄰位置的顏色值的差值,根據(jù)所述差值的大小確定所述黑線和所述白線的邊界。
[0015]可選地,前述的條碼修正裝置,所述區(qū)域確定模塊根據(jù)已知的所述邊界在所述開始區(qū)域和/或所述結(jié)束區(qū)域中的特征,從所述圖片中確定所述開始區(qū)域和/或所述結(jié)束區(qū)域。
[0016]可選地,前述的條碼修正裝置,所述寬度調(diào)整模塊對于所述圖片中的待調(diào)整黑線,在所述待調(diào)整黑線的寬度非所述最細(xì)線的寬度的正整數(shù)倍時,比較所述待調(diào)整黑線的顏色值與所述圖片中的多個黑線的平均顏色值;在所述待調(diào)整黑線的顏色值大于所述圖片中的多個黑線的平均顏色值時,增大所述待調(diào)整黑線的寬度直至所述待調(diào)整黑線的寬度為所述最細(xì)線的寬度的正整數(shù)倍;在所述待調(diào)整黑線的顏色值小于所述圖片中的多個黑線的平均顏色值時,減小所述待調(diào)整黑線的寬度直至所述待調(diào)整黑線的寬度為所述最細(xì)線的寬度的正整數(shù)倍。
[0017]可選地,前述的條碼修正裝置,還包括:轉(zhuǎn)換模塊,用于在所述圖片為彩色圖時,將所述彩色圖轉(zhuǎn)換為灰度圖。
[0018]可選地,前述的條碼修正裝置,還包括:對比度調(diào)整模塊,用于增大所述圖片的對比度參數(shù)。
[0019]根據(jù)以上技術(shù)方案,本發(fā)明的條碼修正方法和裝置至少具有以下優(yōu)點(diǎn):
[0020]根據(jù)本發(fā)明的技術(shù)方案,在確定條碼邊界的情況下首先確定條碼的開始及區(qū)域/結(jié)束區(qū)域,由于開始區(qū)域/結(jié)果區(qū)域的寬度往往與條碼中最細(xì)線的寬度之間存在整數(shù)倍關(guān)系,所以可以計(jì)算得到最細(xì)線的寬度,又由于條碼中其他的黑線/白線與最細(xì)線也為整數(shù)倍關(guān)系,所以可以利用最細(xì)線的寬度對條碼中黑線/白線的寬度進(jìn)行修正,從而得到清楚的條碼,有利于對條碼的解析操作。
[0021]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0022]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0023]圖1示出了根據(jù)本發(fā)明的一個實(shí)施例的條碼修正方法的流程圖;
[0024]圖2示出了根據(jù)本發(fā)明的一個實(shí)施例的條碼修正方法的流程圖;
[0025]圖3示出了根據(jù)本發(fā)明的一個實(shí)施例的條碼修正方法的流程圖;
[0026]圖4示出了根據(jù)本發(fā)明的一個實(shí)施例的條碼修正裝置的框圖;
[0027]圖5示出了根據(jù)本發(fā)明的一個實(shí)施例的條碼修正裝置的框圖。
【具體實(shí)施方式】
[0028]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0029 ]如圖1所示,本發(fā)明的一個實(shí)施例中提供了一種條碼修正方法,包括:
[0030]步驟110,識別包含條碼的圖片中的黑線與白線的邊界。在本實(shí)施例中,條碼包括但不限于EAN-13編碼規(guī)則的條碼。
[0031]步驟120,根據(jù)黑線與白線的邊界,確定條碼的開始區(qū)域和/或結(jié)束區(qū)域。
[0032]步驟130,將開始區(qū)域和/或結(jié)束區(qū)域除以預(yù)設(shè)正整數(shù),得到條碼中的最細(xì)線的寬度。在本實(shí)施例中,以EAN-13條碼為例,其開始區(qū)域和結(jié)束區(qū)域的寬度均為最細(xì)線寬度的3倍,根據(jù)該對應(yīng)關(guān)系就可以計(jì)算出最細(xì)線的寬度,具體可以在找到開始區(qū)域和結(jié)束區(qū)域后,根據(jù)開始區(qū)域和結(jié)束區(qū)域的總寬度除以6得到最細(xì)條碼線的像素寬度W,用以修正其它條碼線的寬度。
[0033]步驟140,根據(jù)最細(xì)線的寬度,在圖片中調(diào)整黑線和/或白線的寬度,使黑線和/或白線的寬度為最黑線的寬度的正整數(shù)倍。在本實(shí)施例的技術(shù)方案中,以EAN-13條碼為例,其中黑線/白線均為最細(xì)線的整數(shù)倍,所以可以利用最細(xì)線來對黑線和白線的寬度進(jìn)行修正,修正完成的條碼清楚,有利于對條碼的解析操作的順利進(jìn)行。
[0034]如圖2所示,本發(fā)明的一個實(shí)施例中提供了一種條碼修正方法,包括:
[0035]步驟210,在圖片