TWI595426B - 條碼解碼方法 - Google Patents
條碼解碼方法 Download PDFInfo
- Publication number
- TWI595426B TWI595426B TW105109126A TW105109126A TWI595426B TW I595426 B TWI595426 B TW I595426B TW 105109126 A TW105109126 A TW 105109126A TW 105109126 A TW105109126 A TW 105109126A TW I595426 B TWI595426 B TW I595426B
- Authority
- TW
- Taiwan
- Prior art keywords
- distance
- point
- barcode
- predetermined
- target
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/0614—Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10712—Fixed beam scanning
- G06K7/10722—Photodetector array or CCD scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10792—Special measures in relation to the object to be scanned
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Description
本發明關於一種條碼解碼方法,尤指一種可有效提昇解碼成功率之條碼解碼方法。
條碼(barcode)是將寬度不等的多個黑條和空白,按照一定的編碼規則排列,用以表達一組資訊的圖形識別元。條碼可以標出物品的生產國、製造廠家、商品名稱、生產日期、圖書分類號、郵件起止地點、類別、日期等資訊,因而在商品流通、圖書管理、郵政管理、銀行系統等許多領域都得到了廣泛的應用。
在以條碼讀取機讀取條碼時,景深、影像感測器像素以及光學鏡頭特性等都會影響條碼讀取機可分辨最小寬度的條碼黑白元素。當條碼讀取機距離條碼越遠時,所讀取的條碼密度就越高且越細。此時,條碼讀取機所擷取到的條碼影像將越模糊。特別是不可變焦的條碼讀取機更容易發生擷取到的條碼影像有模糊問題,進而導致解碼能力降低。
本發明的目的之一在於提供一種可有效提昇解碼成功率之條碼解碼方法,以解決上述問題。
根據一實施例,本發明之條碼解碼方法包含下列步驟:以一條碼讀取機擷取一目標條碼之一目標影像;於目標影像上設定一目標掃描線;根據一編碼規則分析目標掃描線之灰階分佈上的至少二特徵點間之相對關係,以得到至少一參考特徵參數;當至少一參考特徵參數與至少一第一預定特徵參數相符
時,判斷條碼讀取機與目標條碼間之一目前距離為一相對遠距離;當判斷目前距離為相對遠距離時,以一預定灰階值將目標掃描線之灰階分佈劃分為至少一黑條區以及至少一白條區;根據預定灰階值設定一灰階區間,且自目標掃描線之灰階分佈找出位於灰階區間中之至少一波峰點以及至少一波谷點;當波峰點位於黑條區中時,於黑條區中***對應波峰點之一白條;以及當波谷點位於白條區中時,於白條區中***對應波谷點之一黑條。
綜上所述,當本發明判斷條碼讀取機與目標條碼間之目前距離為相對遠距離時,本發明係先將目標掃描線之灰階分佈劃分為黑條區與白條區,再根據灰階區間中之波峰點於黑條區中***對應的白條及/或根據灰階區間中之波谷點於白條區中***對應的黑條,以有效還原目標條碼之黑條與白條之分佈。藉此,即可在條碼讀取機與目標條碼間之目前距離為相對遠距離時,有效提昇目標條碼的解碼成功率。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
10‧‧‧條碼讀取機
12‧‧‧樣本條碼
14‧‧‧樣本掃描線
32‧‧‧目標條碼
34‧‧‧目標掃描線
BA‧‧‧黑條區
B1‧‧‧黑條
SA‧‧‧白條區
S1-S5‧‧‧白條
A、C、E、P1-P5‧‧‧波峰點
B、D、V1-V4‧‧‧波谷點
IP1-IP5、IV1‧‧‧內插點
PG‧‧‧預定灰階值
GTHmax-GTHmin‧‧‧灰階區間
S10-S16、S30-S52‧‧‧步驟
第1圖為本發明之條碼解碼方法建立條碼影像特徵與相對距離之對照表的流程圖。
第2圖為條碼讀取機與樣本條碼的示意圖。
第3圖為條碼讀取機與樣本條碼間之預定距離為相對中距離時取得之灰階分佈的示意圖。
第4圖為條碼讀取機與樣本條碼間之預定距離為相對遠距離時取得之灰階分佈的示意圖。
第5圖為條碼讀取機與樣本條碼間之預定距離為相對近距離時取得之灰階
分佈的示意圖。
第6A圖至第6C圖為根據本發明一實施例之條碼解碼方法的流程圖。
第7圖為目標條碼的示意圖。
第8圖為目標影像上之目標掃描線之灰階分佈的示意圖,其中目標掃描線之灰階分佈劃分為黑條區以及白條區。
第9圖為自目標掃描線之灰階分佈找出位於灰階區間中之波峰點以及波谷點的示意圖。
第10圖為針對目標掃描線之灰階分佈於每兩相鄰像素點之間增加內插點的示意圖。
第11圖為於黑條區中***對應波峰點之白條,且於白條區中***對應波谷點之黑條的示意圖。
請參閱第1圖至第5圖,第1圖為本發明之條碼解碼方法建立條碼影像特徵與相對距離之對照表的流程圖,第2圖為條碼讀取機10與樣本條碼12的示意圖,第3圖為條碼讀取機10與樣本條碼12間之預定距離為相對中距離時取得之灰階分佈的示意圖,第4圖為條碼讀取機10與樣本條碼12間之預定距離為相對遠距離時取得之灰階分佈的示意圖,第5圖為條碼讀取機10與樣本條碼12間之預定距離為相對近距離時取得之灰階分佈的示意圖。
本發明係藉由條碼讀取機(barcode reader)10取得樣本條碼12之影像特徵,再估測條碼讀取機10與樣本條碼12之相對距離,以提供沒有距離感測器或變焦能力的條碼讀取機在解碼時需要的相對距離資訊,進而有效提昇解碼成功率。因此,在對條碼進行解碼前,本發明之條碼解碼方法需先建立條碼影像特徵與相對距離之對照表。
首先,執行步驟S10,提供一樣本條碼12。於此實施例中,樣本條碼
12之編碼係符合一特定的編碼規則。如第2圖所示,樣本條碼12之編碼可符合Code 39之編碼規則,因此,在解碼樣本條碼12後,即可得到“*3A*”之編碼。由於在樣本條碼12前後都會有固定的起始與結束字元“*”,因此,本發明可利用此一特殊區間,建立條碼影像特徵與相對距離之對照表。需說明的是,樣本條碼12之編碼亦可根據實際需求而選擇其它編碼規則,不以Code 39之編碼規則為限。
接著,執行步驟S12,以條碼讀取機10於複數個預定距離下擷取樣本條碼12之複數個樣本影像,其中每一個預定距離分別屬於相對遠距離、相對中距離與相對近距離的其中之一。
接著,執行步驟S14,於每一個樣本影像上設定一樣本掃描線14。樣本掃描線14可設定為樣本條碼12之樣本影像上的一條水平線,如第2圖所示。
接著,執行步驟S16,根據編碼規則分析每一個樣本掃描線14之灰階分佈上的至少二特徵點間之相對關係,以得到對應相對遠距離之至少一第一預定特徵參數、對應相對中距離之至少一第二預定特徵參數與對應相對近距離之至少一第三預定特徵參數。
於此實施例中,第3圖係為條碼讀取機10與樣本條碼12間之預定距離為相對中距離時取得之灰階分佈,第4圖係為條碼讀取機10與樣本條碼12間之預定距離為相對遠距離時取得之灰階分佈,且第5圖係為條碼讀取機10與樣本條碼12間之預定距離為相對近距離時取得之灰階分佈,其中三角形與正方形分別為灰階分佈的波峰點與波谷點。
本發明可取如第3圖至第5圖所示之二相鄰波峰點A與波谷點B、二相鄰波峰點C、E以及二相鄰波谷點D與波峰點E作為三組特徵點來進行分析。需說明的是,本發明可根據實際應用選擇二相鄰波峰與波谷、二相鄰波峰、二相鄰波谷或其組合作為特徵點來進行分析,不以第3圖至第5圖所示之實施例為限。
舉例而言,可將條碼讀取機10與樣本條碼12間之預定距離為7公分時定義為相對中距離,且以此相對中距離取得第3圖所示之灰階分佈,其中二相鄰波峰點A與波谷點B相距5個像素距離,二相鄰波峰點C、E相距5個像素距離,且二相鄰波谷點D與波峰點E之灰階差異值為35。此外,可將條碼讀取機10與樣本條碼12間之預定距離為13公分時定義為相對遠距離,且以此相對遠距離取得第4圖所示之灰階分佈,其中二相鄰波峰點A與波谷點B相距3個像素距離,二相鄰波峰點C、E相距1個像素距離,且二相鄰波谷點D與波峰點E之灰階差異值為7。再者,可將條碼讀取機10與樣本條碼12間之預定距離為4公分時定義為相對近距離,且以此相對近距離取得第5圖所示之灰階分佈,其中二相鄰波峰點A與波谷點B相距8個像素距離,二相鄰波峰點C、E相距7個像素距離,且二相鄰波谷點D與波峰點E之灰階差異值為14。需說明的是,可根據實際應用選擇二特徵點間之像素距離、灰階差異值或其組合作為二特徵點間之相對關係,不以上述之實施例為限。
在以條碼讀取機10於複數個不同的預定距離下擷取樣本條碼12之複數個樣本影像,且對每一個樣本影像之樣本掃描線14之灰階分佈進行如上之分析後,即可建立如下表1所示之條碼影像特徵與相對距離之對照表。
請參閱第6A圖至第12圖,第6A圖至第6C圖為根據本發明一實施例之條碼解碼方法的流程圖,第7圖為目標條碼32的示意圖;第8圖為目標掃描線34之灰階分佈的示意圖,其中目標掃描線34之灰階分佈劃分為黑條區BA以及白條區SA;第9圖為自目標掃描線34之灰階分佈找出位於灰階區間GTHmax-GTHmin中之波峰點P1-P5以及波谷點V1-V4的示意圖;第10圖為針對目標掃描線34之灰階分佈於每兩相鄰像素點之間增加內插點的示意圖;第11圖為於黑條區BA中***對應波峰點P1-P5之白條S1-S5,且於白條區SA中***對應波谷點V1之黑條B1的示意圖。
在建立如上表1所示之條碼影像特徵與相對距離之對照表後,即可根據表1對第7圖所示之目標條碼32進行解碼。需說明的是,由於表1係根據Code 39之編碼規則而建立,因此,目標條碼32亦需符合Code 39之編碼規則。換言之,目標條碼32之編碼規則需符合用以建立表1之編碼規則。
首先,執行步驟S30,以條碼讀取機10擷取目標條碼32之目標影像。
接著,執行步驟S32,於目標影像上設定目標掃描線34,如第7圖所示。
接著,執行步驟S34,根據目標條碼32之編碼規則分析目標掃描線34之灰階分佈上的至少二特徵點間之相對關係,以得到至少一參考特徵參數。由於表1係以第3圖至第5圖所示之二相鄰波峰點A與波谷點B、二相鄰波峰點C、E以及二相鄰波谷點D與波峰點E作為三組特徵點而建立,因此,本發明可根據目標掃描線34之灰階分佈上之二相鄰波峰點A與波谷點B、二相鄰波峰點C、E以及
二相鄰波谷點D與波峰點E之相對關係(如第8圖所示),得到三個參考特徵參數,亦即,二相鄰波峰點A與波谷點B之像素距離,二相鄰波峰點C、E之像素距離,與二相鄰波谷點D與波峰點E之灰階差異值。
接著,根據步驟S34得到之參考特徵參數與表1判斷條碼讀取機10與目標條碼32間之目前距離為何。當步驟S34得到之參考特徵參數與表1中的第一預定特徵參數相符時,執行步驟S36,判斷條碼讀取機10與目標條碼32間之目前距離為相對遠距離。
當判斷條碼讀取機10與目標條碼32間之目前距離為相對遠距離時,執行步驟S38,以預定灰階值PG對目標掃描線34之灰階分佈進行二值化,以將目標掃描線34之灰階分佈劃分為至少一黑條區BA以及至少一白條區SA。如第8圖所示,預定灰階值PG將目標掃描線34之灰階分佈劃分為一個黑條區BA以及一個白條區SA。需說明的是,根據不同條碼的讀取結果,黑條區BA或白條區SA之數量亦可為多個,不以一個為限。於此實施例中,可以目標掃描線34之灰階分佈之平均灰階值作為預定灰階值PG,但不以此為限。預定灰階值PG亦可根據實際應用而有不同的設定。
接著,執行步驟S40,根據預定灰階值PG設定一灰階區間GTHmax-GTHmin,且自目標掃描線34之灰階分佈找出位於灰階區間GTHmax-GTHmin中之至少一波峰點P1-P5以及至少一波谷點V1-V4。於此實施例中,可根據預定灰階值PG上下取一預定比率(例如,正負25%)得到灰階區間GTHmax-GTHmin。如第9圖所示,有五個波峰點P1-P5與四個波谷點V1-V4位於灰階區間GTHmax-GTHmin中。需說明的是,根據不同條碼的讀取結果與不同灰階區間的設定,位於灰階區間GTHmax-GTHmin中的波峰點或波谷點的數量可為一或多個,不以第9圖所示之實施例為限。
接著,判斷波峰點P1-P5是否位於黑條區BA中,且判斷波谷點V1-V4
是否位於白條區SA中。接著,執行步驟S42當波峰點位於黑條區BA中時,於黑條區BA中***對應波峰點之一白條;當波谷點位於白條區SA中時,於白條區SA中***對應波谷點之一黑條。
於此實施例中,本發明可先針對目標掃描線34之灰階分佈於每兩相鄰像素點之間增加一內插點。因此,目標掃描線34之灰階分佈會由第9圖所示的32個像素點增加為第10圖所示的63個像素點。假設兩相鄰像素點之灰階值為x[n]與x[n+1],且內插點之灰階值為x[n+0.5],則內插點之灰階值可由下列公式一計算得到。
公式一:x[n+0.5]=(x[n+1]-x[n])/2+x[n]。
當波峰點位於黑條區BA中時,本發明可以波峰點以及與波峰點相鄰之內插點之寬度作為白條之寬度。當波谷點位於白條區SA,本發明可以波谷點以及與波谷點相鄰之內插點之寬度作為黑條之寬度。
如第11圖所示,波峰點P1-P5皆位於黑條區BA中。因此,本發明可以波峰點P1以及與波峰點P1相鄰之後一個內插點IP1之寬度作為白條S1之寬度,以波峰點P2以及與波峰點P2相鄰之後一個內插點IP2之寬度作為白條S2之寬度,以波峰點P3以及與波峰點P3相鄰之後一個內插點IP3之寬度作為白條S3之寬度,以波峰點P4以及與波峰點P4相鄰之後一個內插點IP4之寬度作為白條S4之寬度,且以波峰點P5以及與波峰點P5相鄰之後一個內插點IP5之寬度作為白條S5之寬度,進而於黑條區BA中***對應波峰點P1-P5之白條S1-S5。需說明的是,本發明亦可以波峰點以及與波峰點相鄰之前一個內插點之寬度作為白條之寬度,視實際應用而定。
如第11圖所示,只有一個波谷點V1位於白條區SA中。因此,本發明可以波谷點V1以及與波谷點V1相鄰之後一個內插點IV1之寬度作為黑條B1之寬度,進而於白條區SA中***對應波谷點V1之黑條B1。需說明的是,本發明亦可
以波谷點以及與波谷點相鄰之前一個內插點之寬度作為黑條之寬度,視實際應用而定。
在於黑條區BA中***白條S1-S5且於白條區SA中***黑條B1後,即可對目標條碼32進行解碼,進而有效提昇解碼成功率。
當步驟S34得到之參考特徵參數與表1中的第二預定特徵參數相符時,執行步驟S44,判斷條碼讀取機10與目標條碼32間之目前距離為相對中距離。當判斷條碼讀取機10與目標條碼32間之目前距離為相對中距離時,執行步驟S46,根據預定灰階值PG對目標掃描線34之灰階分佈進行二值化,即可對目標條碼32進行解碼。
當步驟S34得到之參考特徵參數與表1中的第三預定特徵參數相符時,執行步驟S48,判斷條碼讀取機10與目標條碼32間之目前距離為相對近距離。當判斷條碼讀取機10與目標條碼32間之目前距離為相對近距離時,執行步驟S50,對目標影像進行濾波與向下取樣。於此實施例中,本發明可利用兩點取一點或是多點取一點的方式對所有的像素點做縮減像素之向下取樣(Down-Sampling),以剔除冗長不必要的像素點(例如,捨棄目標掃描線34之偶數點或隔三點取一點),讓後續運算反應時間加快。接著,再利用移動平均濾波器(moving average filters)的方式濾除雜訊點。假設目標掃描線34之像素點之灰階值為x[n],濾波後輸出之像素點之灰階值為y[n],則可以下列公式二進行移動平均濾波。
公式二:y[n]=(x[n-2]+x[n-1]+x[n]+x[n+1]+x[n+2])/5。
接著,執行步驟S52,根據預定灰階值PG對目標掃描線34之灰階分佈進行二值化,即可對目標條碼32進行解碼。
於此實施例中,表1係以三個第一預定特徵參數、三個第二預定特徵參數與三個第三預定特徵參數來說明本發明之技術特點。然而,本發明之預定
特徵參數的數量並不以三個為限。此外,步驟S34得到之參考特徵參數與表1中的第一預定特徵參數、第二預定特徵參數或第三預定特徵參數有可能不完全相符。當參考特徵參數與第一預定特徵參數中的N個相符,且與第二預定特徵參數中的M個相符時,本發明之條碼解碼方法可以下列方式判斷條碼讀取機10與目標條碼32間之目前距離為相對遠距離或相對中距離,其中N與M皆為正整數。當N大於M時,判斷目前距離為相對遠距離;當N小於或等於M時,判斷目前距離為相對中距離。同理,當參考特徵參數與第二預定特徵參數中的N個相符,且與第三預定特徵參數中的M個相符時,本發明之條碼解碼方法亦可以上述方式判斷條碼讀取機10與目標條碼32間之目前距離為相對中距離或相對近距離。
需說明的是,本發明之條碼解碼方法之控制邏輯可以軟體設計來實現。此軟體可於條碼讀取機或其它有提供條碼讀取功能之電子裝置中執行。當然,控制邏輯中的各個部分或功能皆可透過軟體、硬體或軟硬體的組合來實現。此外,本發明之條碼解碼方法之控制邏輯可以儲存於電腦可讀取儲存媒體中的資料而具體化,其中電腦可讀取儲存媒體所儲存之代表指令的資料係可被電子裝置執行以產生控制命令,進而執行對應的功能。
綜上所述,當本發明判斷條碼讀取機與目標條碼間之目前距離為相對遠距離時,本發明係先將目標掃描線之灰階分佈劃分為黑條區與白條區,再根據灰階區間中之波峰點於黑條區中***對應的白條及/或根據灰階區間中之波谷點於白條區中***對應的黑條,以有效還原目標條碼之黑條與白條之分佈。藉此,即可在條碼讀取機與目標條碼間之目前距離為相對遠距離時,有效提昇目標條碼的解碼成功率。此外,當本發明判斷條碼讀取機與目標條碼間之目前距離為相對中距離時,本發明可根據預定灰階值對目標掃描線之灰階分佈進行二值化,以對目標條碼進行解碼。再者,當本發明判斷條碼讀取機與目標條碼間之目前距離為相對近距離時,本發明可先對目標影像進行濾波與向下取樣,
再根據預定灰階值對目標掃描線之灰階分佈進行二值化,以對目標條碼進行解碼。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S30-S42‧‧‧步驟
Claims (9)
- 一種條碼解碼方法,包含下列步驟:以一條碼讀取機擷取一目標條碼之一目標影像;於該目標影像上設定一目標掃描線;根據一編碼規則分析該目標掃描線之灰階分佈上的至少二特徵點間之相對關係,以得到至少一參考特徵參數;當該至少一參考特徵參數與至少一第一預定特徵參數相符時,判斷該條碼讀取機與該目標條碼間之一目前距離為一相對遠距離;當判斷該目前距離為該相對遠距離時,以一預定灰階值將該目標掃描線之灰階分佈劃分為至少一黑條區以及至少一白條區;根據該預定灰階值設定一灰階區間,且自該目標掃描線之灰階分佈找出位於該灰階區間中之至少一波峰點以及至少一波谷點;當該波峰點位於該黑條區中時,於該黑條區中***對應該波峰點之一白條;以及當該波谷點位於該白條區中時,於該白條區中***對應該波谷點之一黑條。
- 如請求項1所述之條碼解碼方法,另包含下列步驟:針對該目標掃描線之灰階分佈於每兩相鄰像素點之間增加一內插點;當該波峰點位於該黑條區中時,以該波峰點以及與該波峰點相鄰之該內插點之寬度作為該白條之寬度;以及當該波谷點位於該白條區中時,以該波谷點以及與該波谷點相鄰之該內插點之寬度作為該黑條之寬度。
- 如請求項1所述之條碼解碼方法,另包含下列步驟:以該目標掃描線之灰階分佈之一平均灰階值作為該預定灰階值。
- 如請求項1所述之條碼解碼方法,另包含下列步驟:當該至少一參考特徵參數與至少一第二預定特徵參數相符時,判斷該條碼讀取機與該目標條碼間之該目前距離為一相對中距離;以及當判斷該目前距離為該相對中距離時,根據該預定灰階值對該目標掃描線之灰階分佈進行二值化。
- 如請求項4所述之條碼解碼方法,另包含下列步驟:當該至少一參考特徵參數與至少一第三預定特徵參數相符時,判斷該條碼讀取機與該目標條碼間之該目前距離為一相對近距離;當判斷該目前距離為該相對近距離時,對該目標影像進行濾波與向下取樣;以及根據該預定灰階值對經濾波與向下取樣後之該目標掃描線之灰階分佈進行二值化。
- 如請求項5所述之條碼解碼方法,另包含下列步驟:以該條碼讀取機於複數個預定距離下擷取一樣本條碼之複數個樣本影像,其中每一該預定距離分別屬於該相對遠距離、該相對中距離與該相對近距離的其中之一;於每一該樣本影像上設定一樣本掃描線;以及根據該編碼規則分析每一該樣本掃描線之灰階分佈上的至少二特徵點間之相對關係,以得到對應該相對遠距離之該至少一第一預定特徵參數、對應該相對中距離之該至少一第二預定特徵參數與對應該相對近距離之該至少一第三預定特徵參數。
- 如請求項1或6所述之條碼解碼方法,其中該至少二特徵點間之相對關係為像素距離、灰階差異值或其組合。
- 如請求項1或6所述之條碼解碼方法,其中該至少二特徵點為二相鄰 波峰點與波谷點、二相鄰波峰點、二相鄰波谷點或其組合。
- 如請求項4所述之條碼解碼方法,其中當該至少一參考特徵參數與該至少一第一預定特徵參數中的N個相符,且與該至少一第二預定特徵參數中的M個相符時,該條碼解碼方法另包含下列步驟:當N大於M時,判斷該目前距離為該相對遠距離;以及當N小於或等於M時,判斷該目前距離為該相對中距離;其中,N與M皆為正整數。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105109126A TWI595426B (zh) | 2016-03-24 | 2016-03-24 | 條碼解碼方法 |
US15/462,914 US9785816B1 (en) | 2016-03-24 | 2017-03-20 | Barcode decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105109126A TWI595426B (zh) | 2016-03-24 | 2016-03-24 | 條碼解碼方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI595426B true TWI595426B (zh) | 2017-08-11 |
TW201734883A TW201734883A (zh) | 2017-10-01 |
Family
ID=59898563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105109126A TWI595426B (zh) | 2016-03-24 | 2016-03-24 | 條碼解碼方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9785816B1 (zh) |
TW (1) | TWI595426B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934040B (zh) * | 2019-03-22 | 2022-06-10 | 福州图腾易讯信息技术有限公司 | 一种一维条码的边界筛选方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155343A (en) * | 1990-03-28 | 1992-10-13 | Chandler Donald G | Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol |
TW403887B (en) * | 1998-10-01 | 2000-09-01 | Neotech Intelligent Automation | Method of examining the quality of bar codes |
US20050145698A1 (en) * | 2003-12-02 | 2005-07-07 | Havens William H. | Method and apparatus for reading under sampled bar code symbols |
TW200929000A (en) * | 2007-12-24 | 2009-07-01 | Marson Technology Co Ltd | Laser bar code scanner and execution method thereof |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
CN103034830A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 条码解码方法及装置 |
TW201411498A (zh) * | 2012-09-11 | 2014-03-16 | Sintai Optical Shenzhen Co Ltd | 條碼讀取方法及讀取裝置 |
CN103150539B (zh) * | 2013-03-18 | 2016-02-10 | 苏州斯普锐智能***有限公司 | 一种条码扫描器及其条码扫描方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3233981B2 (ja) * | 1992-05-26 | 2001-12-04 | オリンパス光学工業株式会社 | シンボル情報読取装置 |
US9189670B2 (en) * | 2009-02-11 | 2015-11-17 | Cognex Corporation | System and method for capturing and detecting symbology features and parameters |
US9495571B1 (en) * | 2015-09-30 | 2016-11-15 | Datalogic Automation, Inc. | Two-dimensional representation of linear barcode derived from laser barcode scanner scanline data |
-
2016
- 2016-03-24 TW TW105109126A patent/TWI595426B/zh active
-
2017
- 2017-03-20 US US15/462,914 patent/US9785816B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155343A (en) * | 1990-03-28 | 1992-10-13 | Chandler Donald G | Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol |
TW403887B (en) * | 1998-10-01 | 2000-09-01 | Neotech Intelligent Automation | Method of examining the quality of bar codes |
US20050145698A1 (en) * | 2003-12-02 | 2005-07-07 | Havens William H. | Method and apparatus for reading under sampled bar code symbols |
TW200929000A (en) * | 2007-12-24 | 2009-07-01 | Marson Technology Co Ltd | Laser bar code scanner and execution method thereof |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
CN103034830A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 条码解码方法及装置 |
TW201411498A (zh) * | 2012-09-11 | 2014-03-16 | Sintai Optical Shenzhen Co Ltd | 條碼讀取方法及讀取裝置 |
CN103150539B (zh) * | 2013-03-18 | 2016-02-10 | 苏州斯普锐智能***有限公司 | 一种条码扫描器及其条码扫描方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170277927A1 (en) | 2017-09-28 |
TW201734883A (zh) | 2017-10-01 |
US9785816B1 (en) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190087619A1 (en) | Decoding barcodes | |
DE69835358T2 (de) | Verfahren zur Korrektur der Verzerrung beim Abtasten eines optischen Codes | |
US7303130B2 (en) | Method and device for recording of data | |
CN109948393B (zh) | 一种一维条码的定位方法及装置 | |
EP0669593A2 (en) | Two-dimensional code recognition method | |
EP1797521B1 (en) | Threshold signal generator and method for determining a threshold for edge detection based on an undifferentiated equalized scan line signal | |
WO2010114449A1 (en) | Barcode processing | |
CN103871027A (zh) | 一种二维码图片的优化处理方法及移动终端 | |
US8333326B2 (en) | Stacked barcode reader and stacked barcode reading method | |
US8538191B2 (en) | Image correction apparatus and method for eliminating lighting component | |
US20120256001A1 (en) | Method for decoding a linear bar code | |
CN111339797A (zh) | 一种能够准确识别受损一维条码的解码方法及终端 | |
CN109508571B (zh) | 一种条空定位方法、装置、电子设备及存储介质 | |
CN109902529B (zh) | 一种基于波形匹配的一维条码识别方法及*** | |
US9076225B2 (en) | Image processing device, an image processing method and a program to be used to implement the image processing | |
TWI595426B (zh) | 條碼解碼方法 | |
CN112036294B (zh) | 一种纸质表格结构自动识别的方法及装置 | |
CN111767752B (zh) | 一种二维码识别方法及装置 | |
CN116842976A (zh) | 一种基于图像粗定位后的DataMatrix二维码识别方法及*** | |
TW201727534A (zh) | 條碼解碼方法 | |
US20230306216A1 (en) | Method and device for evaluating matrix codes | |
US7451931B2 (en) | Detecting barcodes on two-dimensional images using frequency domain data | |
US10303913B2 (en) | Virtual wave decoder for blurred images and subpixel performance | |
CN111241862A (zh) | 基于边缘特性的条形码定位方法 | |
JP5657987B2 (ja) | スタック型バーコード読取装置およびスタック型バーコード読取方法 |