農林漁牧網

您現在的位置是:首頁 > 農業

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

2022-04-09由 小碼兒來了 發表于 農業

商品條碼中 x如何計算

1

、引言

我國條碼起始於

80

年代,商品條碼經過

30

年的發展已成功應用於國內各行業領域,商品條碼的編碼由國際組織

GS1

統一管理,商品條碼符號在國標

12904

中要求為

EAN/UPC

標準中規定了條碼的符號中的條空顏色搭配,市場上常見的條碼一般都是條為黑色、空為白色,也有部分其它顏色搭配,但均為外觀設計,並沒有將顏色進行編碼設計,讓條碼顏色攜帶資訊。

2015

年彩虹碼的出現增加條碼符號資訊表達。本文以

EAN13

碼為例,透過對條碼的顏色編碼設計,來增加條碼攜帶資訊的實現方法。本文僅描述如何實現顏色編碼及識別過程,

EAN13

條碼識別演算法不在本文討論之內。

2

、彩色條碼顏色編碼設計

2。1

EAN13

碼的符號組成以及特徵分析

根據

EAN13

碼的規定,條碼共計有

13

位數字字元組成,其中左側第一位是前置碼數值,不參與編碼。剩餘

12

位數字字元分別由

A

B

C

三種不同型別的字元子集組成。透過分析下表可知,每個字元的子集按顏色都有連續的

2

塊空和

2

塊條組成。整個條碼符號中有

30

個連續(或單個)顏色條組成,其中

12

數字字元有

24

個,起始符

2

個、中間分隔符

2

個和終止符

2

個,總計

30

個。

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

2。2

、標準

EAN13

顏色搭配特徵分析與編碼容量分析

根據標準規定,條碼空色為白色,可與之匹配的條色的顏色可以是黑色、藍色、綠色、深棕色四種顏色;條碼空色為橙色,可與之匹配的條色有黑色、藍色、綠色、深棕色四種顏色;條碼空色為紅色,可與之匹配的條色有黑色、藍色、綠色、深棕色四種顏色;條碼空色為黃色,可與之匹配的條色有黑色、藍色、綠色、深棕色。無論空色為那種顏色,均有

4

種(黑色、藍色、綠色、深棕色)可與之匹配條色。

根據上述分析,

EAN13

碼中

30

個連續(或單個)顏色條,其中每個條可以有

4

種顏色來編碼(空色不參與編碼),那麼整個顏色編碼容量計算公式如下:

顏色編碼容量(

4

種顏色)

=4^30

共計有

1152921504606846976

編碼容量。實際使用中為提高顏色識別率,不建議使用棕色,僅使用黑色、藍色、綠色

3

色,這種情況下顏色編碼容量計算公式如下:

顏色編碼容量(

3

種顏色)

=3^30

總計有

205891132094649

編碼容量。

2。3

、顏色編碼演算法設計

我們採用

3

種顏色進行編碼,表

2

是對

3

種顏色值進行定義。

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

結合上文分析,以

EAN13

碼為例,總計有

30

組顏色條,按照每相鄰

3

個為一組,進行顏色編碼,組合編碼從

000~120

表達

0~F

,滿足十六進位制編碼需要,

121~222

段為保留段,待以後啟用。顏色碼總計

10

位數,每位數可表達

0~F,

也就是總的編碼資源為

16

10

次方

1 099 511 627 776

。編碼規定按

10

位編碼,不足

10

位的左前補‘

0

’。具體如表

3

所示。

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

2。4

、彩色條碼示例分析

觀察示例

1

,我們根據前文所述,我們將該條碼按

3

個顏色條為一組進行分割,並按表

2

顏色定義值進行轉化,得到如下編碼:

“002000001100000021001012001000”

透過表

3

字元編碼表轉化後值為

2019071510

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

3

、彩色條碼識別演算法實現

3。1

、定位每個條的中心點

利用影象處理技術,將彩色條碼透過高斯濾波處理,灰度化,二值化處理後,得到黑白影象,為防止條碼底部供人識別的數字影像影象識別演算法,將整個圖片的

Y

軸下的

2/5

部分全部用白色替換。透過影象矩形框演算法定位出每個條的位置,計算出每個條的中心點後儲存到連結串列,並按

X

軸的方形進行排序。

一種顏色攜帶資訊的彩色EAN13碼生成和識別的技術實現方法

3。2

、獲取條的中心點顏色值

透過定位演算法獲得的中心位置,在原圖(彩色圖)的資料中找到每個條的中心點顏色值(

RGB

值),也可以透過識別每個條的矩形框後計算

RGB

的均值。

3。3

、利用

SVM

支援向量機(

AI

技術)演算法識別條的顏色

因拍照的光線以及條碼印刷等因素的影響,每個待識別的條碼影象條的中心點

RGB

值並不是統一的,但會落在一個動態區間範圍,需要利用人工智慧技術對其識別,提高識別效率。

3。3。1

、資料訓練

透過模擬實際使用環境,在不同的光線用不同品牌的攝像頭拍攝指定的條碼影象。透過影象識別技術獲取這些圖片每個條的中心點

RGB

值,並將這些資料透過資料歸一化處理,與對應預期識別結果一起作為訓練資料,提交給

SVM

進行識別演算法訓練。

3。3。2

、目標識別

利用影象處理技術,採集到條碼圖片中每個條的中心點

RGB

值後,按

X

的方向將中心點數值進行排序並儲存到連結串列。利用

SVM

預測出連結串列中的每個中心點結果,並根據顏色編碼演算法轉化成最終結果。透過不斷的調整訓練資料,識別準確率可提高到

97%

,基本滿足正常使用。

4

、總結

本文提供了一種彩色條碼的編碼及識別實現方法,並透過利用

AI

技術提高其識別率。