一维条码概述

一维条码概述
一维条码概述

最近意外找到以前曾整理的一維條碼資料, 自己都完全遺忘了. 於是便拿出來po一下, 提供給有需要的人參考吧.

-

一維條碼by青衫(邱奕南)

一維條碼可分為39碼、EAN-13碼、EAN-8碼、UPC-A碼、UPC-E碼、交錯式25碼、CODABAR碼(又稱NW-7碼)、128碼等多種,以下便說明一下各種條碼的意義,以及編碼方式:

(一)39碼

39碼發展於1974年,由於限制少,又支援文數字,因此多應用於一般管理軟體。其編碼特性如下:

1. 資料碼可以是0~9、A~Z、-、.、Space、$、/、+、%等43種,資料長度不限,各資料編號次序依上列次序編號0~42。

2. 編碼結構為〔起始碼+資料碼+檢查碼+終止碼〕,其中檢查碼可有可無,且檢查碼亦會被視為資料輸入。

3. 起始碼與終止碼均固定為*。

4. 檢查碼為資料編號值(0~42)累加後(Sum)除以43取餘數,並將該值視為相對應資料編號值的資料。

5. 編碼資料如下,每碼有9條,其中3條為粗,各佔12線。以下各位元奇數位為黑,要畫線,偶數位為白,不畫線,0為細,1為粗:

0 000110100

1 100100001

2 001100001

3 101100000

4 000110001

5 100110000

6 001110000

7 000100101

8 100100100

9 001100100

A 100001001

B 001001001

C 101001000

D 000011001

E 100011000

F 001011000

G 000001101

H 100001100

I 001001100

J 000011100

K 100000011

L 001000011

M 101000010

N 000010011

O 100010010

P 001010010

Q 000000111

R 100000110

S 001000110

T 000010110

U 110000001

V 011000001

W 111000000

X 010010001

Y 110010000

Z 011010000

- 010000101

. 110000100

Space 011000100

$ 010101000

/ 010100010

+ 010001010

% 000101010

* 010010100

各資料碼之間必須再空開一條白線。

2008/9/13 上午09:54:11

(二)EAN-13碼

EAN-13碼(European Article Number,歐洲商品條碼)是1977年由歐洲十二個工業國家所共同發展出來的一種條碼系統,其後逐漸變成國際性的條碼系統,一般多用作商品標示條碼。其編碼特性如下:

1. 資料只能為0~9之數字計12個,連同檢查碼共13碼。資料中包括國家代碼3碼、廠商代碼4碼、產品代碼5碼,為一種專用於商品標示的條碼。

2. 編碼結構為〔護線+6個左資料碼+中線+5個右資料碼+檢查碼+護線〕,共佔119條線。其中在畫線時,護線和中線在下方均略長於資料碼,以便肉眼能明顯區分,但對於條碼機閱讀時並無差異。

3. 左資料的編碼方式有A、B兩組之分,而資料的第一碼隱藏在左資料碼的編碼方式,故實際只編出12碼。以下為左資料依首碼所對應使用的編碼方式:

0 AAAAAA

1 AABABB

2 AABBAB

3 AABBBA

4 ABAABB

5 ABBAAB

6 ABBBAA

7 ABABAB

8 ABABBA

9 ABBABA

4. 左資料的編碼方式,A組編碼為:

0 0001101

1 0011001

2 0010011

3 0111101

4 0100011

5 0110001

6 0101111

7 0111011

8 0110111

9 0001011

B組編碼為:

0 0100111

1 0110011

2 0011011

3 0100001

4 0011101

5 0111001

6 0000101

7 0010001

8 0001001

9 0010111

以上各位元0為白,1為黑。

5. 護線固定為101,中線固定為01010,各位元0為白,1為黑。

6. 右資料編碼方式固定為:

0 1110010

1 1100110

2 1101100

3 1000010

4 1011100

5 1001110

6 1010000

7 1000100

8 1001000

9 1110100

各位元0為白,1為黑。

7. 檢查碼計算方式為1000減去前12碼之奇數碼和與偶數碼和*3後,除以10取餘數。假設各碼依次為ABCDEFGHIJKLM,則M = (1000 - (A+C+E+G+I+K) -

(B+D+F+H+J+L)*3) % 10。

(三)EAN-8碼

EAN-8碼為EAN-13碼的簡化型,除了少掉了廠商代碼外,其餘大致和EAN-13碼相同,其編碼特性如下:

1. 資料只能為0~9之數字計7個,連同檢查碼共8碼。資料中包括國家代碼3碼、產品代碼5碼。

2. 編碼結構為〔護線+4個左資料碼+中線+3個資料碼+檢查碼+護線〕,共佔67條線。其中在畫線時,護線和中線在下方均略長於資料碼,以便肉眼能明顯區分,但對於條碼機閱讀時並無差異。

3. 首碼不再隱藏於編碼方式,因此實際編出8碼。左資料一律以A組方式編碼,右資料編碼方式同EAN-13碼(請參閱EAN-13碼)。

4. 檢查碼為1000減去前7碼之奇數碼和*3與偶數碼和後,除以10取餘數。假設各碼依次為ABCDEFGH,則

H = (1000 - (A+C+E+G)*3 - (B+D+F)) % 10。

2008/9/13 上午09:55:10

(四)UPC-A碼

UPC-A碼(Universal Product Code,統一商品條碼)為1973年由美國超級市場公會所發展出來的條碼系統,適用於加拿大以及北美等地區,亦為EAN碼的前身,因此和EAN 碼極為相似。UPC-A碼共有13碼,除了最後一個檢查碼外,還包括了旗碼2碼、廠商代碼5碼、產品代碼5碼。其中旗碼第一碼固定為0,第二碼用以表示商品的種類。整個UPC-A的編碼結構和EAN-13碼是完全相同的,只是首碼必須固定為0,因此在編碼上較EAN-13碼簡單。

(五)UPC-E碼

UPC-E碼為UPC-A碼的簡化型,共計有8碼,係由某些特殊的UPC-A碼簡化而來。由於並非所有UPC-A碼均能簡化成UPC-E碼,因此可簡化的UPC-A碼有一定的限制,這些限制為:

1. 旗碼=00,廠商代碼=xx000,產品代碼=00xxx

2. 旗碼=00,廠商代碼=xx100,產品代碼=00xxx

3. 旗碼=00,廠商代碼=xx200,產品代碼=00xxx

4. 旗碼=00,廠商代碼=xxx00,產品代碼=000xx

5. 旗碼=00,廠商代碼=xxxx0,產品代碼=0000x

6. 旗碼=00,廠商代碼=xxxxx,產品代碼=00005~00009

假設UPC-A各碼依次為ABCDEFGHIJKLM,則符合上述這些限制的UPC-A碼,可依次簡化成下列對應的UPC-E碼:

1. 0CDJKL0M

2. 0CDJKL1M

3. 0CDJKL2M

4. 0CDEKL3M

5. 0CDEFL4M

6. 0CDEFGLM

以下則為UPC-E碼的編碼特性:

1. 資料只能為0~9之數字計7個,連同檢查碼共8碼。各資料代表意義如前所述。

2. 編碼方式為〔左護線+6個資料碼+右護線〕,共佔51條線。由於第一碼固定為0,不列入編碼,而檢查碼隱含在編碼方式中,因此實際只編出6碼。

3. 資料碼依檢查碼有A、B兩組不同的編碼方式,各檢查碼對應的資料編碼方式如下:

0 BBBAAA

1 BBABAA

2 BBAABA

3 BBAAAB

4 BABBAA

5 BAABBA

6 BAAABB

7 BABABA

8 BABAAB

9 BAABAB

A、B兩組編碼方式同EAN-13碼。

4. 檢查碼計算方式如下:

0ABCDEFM : M = (1000 - (A+D+F) - (B+C+E)*3) % 10,F = 0~2

0ABCDE3M : M = (1000 - (A+C+D) - (B+E)*3) % 10

0ABCDE4M : M = (1000 - (A+C) - (B+D+E)*3) % 10

0ABCDEFM : M = (1000 - (A+C+E) - (B+D+F)*3) % 10,F = 5~9

5. 左護線固定為101,右護線固定為010101,以上各位元0為白,1為黑。

2008/9/13 上午09:56:09

(六)交錯式25碼

交錯式25碼(Interleaved 2 of 5)發展於1972年,為最早出現的條碼系統。由於編碼方式係採2個資料交錯放置,且每個資料有5條線,故命令為交錯式25碼。其編碼特性如下:

1. 資料只能為0~9之數字,長度不限,但必須是偶數個,不足時最前面必須多補一個0。

2. 編碼結構為〔起始碼+資料碼+終止碼〕。

3. 編碼資料如下,每碼有5條線,其中2條為粗,故每碼各佔7線,各位元值0為細,1為粗:

0 00110

1 10001

2 01001

3 11000

4 00101

5 10100

6 01100

7 00011

8 10010

9 01010

實際編碼時,以2個資料之位元交錯放置,也就是第一個資料放一個位元,然後輪第二個資料放一個位元,再輪回第一個資料放一位元,如此循環下去。編碼完畢後,在奇數位者一律為黑(要畫線),偶數位者一律為白(不畫線)。

4. 起始碼固定為0000,終止碼固定為100。依前述奇數位為黑、偶數位為白、0為細、1為粗,則起始碼為細黑、細白、細黑、細白,而終止碼為粗黑、細白、細黑。

除了交錯式25碼外,也有沒進行交錯排列處理的標準式25碼(Standard 2 of 5),但使用上沒有交錯式25碼普及。

(七)CODABAR碼(又稱NW-7碼)

CODABAR碼發展於1972年,但直到1977年才正式被使用。由於發展年份和交錯式25碼相近,因此編碼方式有許多地方頗相似。其編碼特性如下:

1. 資料只能為數字0~9,以及/+-*$.:等7個特殊符號,長度最長為32碼資料。

2. 編碼結構為〔起始碼+資料碼+終止碼〕,其中起始碼和終止碼必須為英文字母A~

D。

3. 編碼資料如下,每碼有7條線,長度不一,各位元奇數位為黑,偶數位為白,0為細,1為粗:

0 0000011

1 0000110

2 0001001

3 1100000

4 0010010

5 1000010

6 0100001

7 0100100

8 0110000

9 1001000

$ 0011000

- 0001100

A 0011010

B 0101001

C 0001011

D 0001110

+ 0010101

. 1010100

: 1000101

/ 1010001

* 1010101

各資料碼之間必須再空開一條白線。

2008/9/13 上午09:57:33

(八)128碼

128碼是個功能強大卻頗複雜的條碼系統,約於1981年開始被採用。其編碼特性如下:

1. 資料可為ASCII 0~127之任何字元,長度最長30個資料。

2. 編碼結構為〔起始碼+資料碼+終止碼+檢查碼〕,其中檢查碼可有可無,通常不加。

3. 有三類編碼方式:

A類:ASCII 0~95。

B類:ASCII 32~127。

C類:數字00~99。

其中ASCII 0~31對應編碼索引為64~95,ASCII 32~95對應編碼索引為0~63,ASCII 96~127對應編碼索引為64~95,C類數字直接對應至編碼索引。各類尚有特殊編碼索引值如下:

A類:F3=96、F2=97、Shift=98、Code C=99、Code B=100、F4=101、F1=102 B類:F3=96、F2=97、Shift=98、Code C=99、F4=100、Code A=101、F1=102 C類:Code B=100、Code A=101、F1=102

4. 起始碼有11線,用以決定一開始的編碼類型,各類型的起始碼為:

A類= 11010000100

B類= 11010010000

C類= 11010011100

終止碼有13線,固定為1100011101011。

5. 各編碼索引對應之編碼值如下,0表白線,1表黑線,各佔11條線:

00 11011001100

01 11001101100

02 11001100110

03 10010011000

04 10010001100

05 10001001100

06 10011001000

07 10011000100

08 10001100100

09 11001001000

10 11001000100

11 11000100100

12 10110011100

13 10011011100

14 10011001110

15 10111001100

16 10011101100

18 11001110010

19 11001011100

20 11001001110

21 11011100100

22 11001110100

23 11101101110

24 11101001100

25 11100101100

26 11100100110

27 11101100100

28 11100110100

29 11100110010

30 11011011000

31 11011000110

32 11000110110

33 10100011000

34 10001011000

35 10001000110

36 10110001000

37 10001101000

38 10001100010

39 11010001000

40 11000101000

41 11000100010

42 10110111000

43 10110001110

44 10001101110

45 10111011000

46 10111000110

47 10001110110

48 11101110110

49 11010001110

50 11000101110

51 11011101000

52 11011100010

53 11011101110

54 11101011000

56 11100010110

57 11101101000

58 11101100010

59 11100011010

60 11101111010

61 11001000010

62 11110001010

63 10100110000

64 10100001100

65 10010110000

66 10010000110

67 10000101100

68 10000100110

69 10110010000

70 10110000100

71 10011010000

72 10011000010

73 10000110100

74 10000110010

75 11000010010

76 11001010000

77 11110111010

78 11000010100

79 10001111010

80 10100111100

81 10010111100

82 10010011110

83 10111100100

84 10011110100

85 10011110010

86 11110100100

87 11110010100

88 11110010010

89 11011011110

90 11011110110

91 11110110110

92 10101111000

94 10001011110

95 10111101000

96 10111100010

97 11110101000

98 11110100010

99 10111011110

100 10111011110

101 11101011110

102 11110101110

2008/9/13 上午09:58:35

6. 檢查碼的計算方式103加上各資料的編碼索引值乘上位置值的總和,再除以103取餘數。假設資料編碼索引值依次為ABC,則檢查碼= (103 + A*1 + B*2 + C*3) % 103。計算出檢查碼後,即視為編碼索引值進行編碼。

7. 特殊資料碼意義為:

F1~F4 = 同按下F1~F4鍵

Shift = 同按下Shift鍵

Code A = 編碼類別改成A類

Code B = 編碼類別改成B類

Code C = 編碼類別改成C類

由於128碼可以中途轉變編碼類別,因此同一個資料可能有多個編碼方式,如何將編碼長度縮到最小,便成為一項考驗。以下係我們經過分析後,所得到的演算法,可使得編碼長度縮到最小:

*** 決定起始碼

1. 一開始數字連續4個以上時,使用C類。

2. 先遇上ASCII 0~31者,使用A類,先遇上ASCII 96~127者,使用B類。都遇不上,一律採用A類。

*** 中途轉碼考慮

A、B類-

1. 數字6個以上時,改用C類。

2. 遇上ASCII 0~31者,改用A類,遇上ASCII 96~127,改用B類。

C類-

3. 只剩0~1個數字時,往後找2的情況,若無,一律使用A類。

4. 遇上ASCII 0~31者,改用A類,遇上ASCII 96~127,改用B類。

2008/9/13 上午10:06:41

最後的128碼最小長度編碼演算法是我個人自推出來的, 擔心的人請再自行驗證吧. 至少個人以前用了好幾年還沒出過什麼差錯.

沒barcode元件, 按上列原則自寫也可解決. 有barcode元件便直接用吧, 比較省時省力. 不過用歸用, 原理至少也懂一些比較好.

2008/9/14 下午11:49:42

感謝青衫的分享, 最近剛好有接觸到Barcode的案子

感謝!

条形码识别

HEFEI UNIVERSITY 系别电子信息与电气工程系 专业电气信息类 班级电子(2)班 完成时间 2012-11-04 姓名学号周峰 0905073012

基于MATLAB的一维条码识别 摘要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量 大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各行各业。由我国目前发展现状来看,条码的正常使用受到条形码印刷质量和商品运输过程的影响,并且传统的条码识读方式是采用光电识读器,条码图像对光的不同反射效果也必然会对条码的识读产生影响,而一般条码在搬运过程中条码会不可避免的破损,所以对质量较差的条码的条码的识别尤为重要。 不同的条码有着不同的识读过程。本设计研究一种基于图像处理方式的识读方法,通过一定的数字图像处理算法处理进行译码。译码算法主要分为两部分:第一部分首先对采集的条码图像进行预处理,图像的预处理包括图像分割,图像滤波等,良好的图像处理将对后面实现正确译码有重大贡献;第二部分就是对预处理后的条码图像进行译码,我们根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,得到条码所表示的文本信息。借助于Matlab软件的功能我们完成这次译码工作。 关键词:图像处理条形码识别 EAN-13 图像滤波 Matlab

一、引言 1.1 条码技术概述 条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。条码技术的研究始于20世纪中期,是继计算机技术应用和发展应运而生的。 通俗的说条形码是指在浅色衬底上印有深色矩形的线条(也称条码)排列而成的编码,其码条和空白条的数量和宽度按一定的规则(标准)排列。条形码是由一组规则排列的条、空、相应的数字组成。这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。这些条和空可以有各种不同的组合方法,构成不同的图形符号,即各种符号体系,适用于不同的应用场合。条形码是迄今为止最经济、实用的一种自动识别技术。 1.2Matlab应用图像处理 Matlab图像处理工具是由Math Works公司推出的用于数值计算的有力工具,它具有相当强大的矩阵运算和操作功能,力求人们摆脱繁杂的程序代码。Matlab图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可以完成大部分图像处理工作。图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各方面的应用分别进行介绍。主要包括下面几方面: (1) 图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp,tif、tiff、pcx 、jpg 、gpeg 、hdf、xwd等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。 (2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性算。例如,conv2(I,J)实现了I,J两幅图像的卷积。 (3) 图像变换。MATLAB提供了一维和二维离散傅立叶变换(DFT)、快速傅立叶变换(FFT)、离散余弦变换(DCT),以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。 二、一维条码技术 2.1 一维条码符号的结构 通常任何一个完整的条码是由两侧空白区、起始符、数据字符、校验符、终止符组成,以一维条码而言,其排列方式通常如表2-1所示: 表2-1 条码符号结构

条形码自动识别技术

条形码自动识别技术 条形码自动识别技术2010-04-09 15:03条码本身不是一套系统,而是一 种十分有效的识别工具它提供准确及时的信息来支持成熟的管理系统。条码使 用能够逐渐地提高准确性和效率,节省开支并改进业务操作。 条码是由不同宽度的浅色和深色的部分(通常是条形)组成的图形,这些部 分代表数字、字母或标点符号。将由条与空代表的信息编码的方法被称作符号法。符号法有许多种。下面列举的是一些最常使用的符号法。 通用产品码(UPC码)和它在世界范围的相似物国际物品码(EAN码)在零售业被非常广泛地使用,它们正在工业和贸易领域中被广泛地接受。UPC/EAN码是 一种全数字的符号法(它只能表示数字)。 在工业、药物和政府应用中最浒的是39码,糨是一种字母与数字混合符号法,它具有自我检验功能,能够提供不同的长度和较高的信息安全性。它被一 些工斑马打印机业贸易组织所接受,包括汽车工业活动组织(AIAG)、保健工业 贸易通讯委员会(HIBCC)和美国国防部(DOD)。工业应用包括追踪生产过程、仓 库库存,还有识别影印领土这样的特别应用。作为一种字母与数字混合符号法,39码除有数字外,还能够支持大写字母并有一些标点符号。 与39码相比,128码是一种更便捷的符号法,糨能够代表整个ASCII字母 系列。它提供一种特殊的"双重密度"的全数字模式并有高信息安全性能。128 码正在逐渐代替39码。HIBCC和统一编码委员会(UCC)已接受一种特殊版本的128码(UCC/EAN-128)用来进行送货箱的标记。在ANSI的送货箱标记标准中也 承认UCC/EAN-128码。在需要将序号、批量号和其它有关信息输入到产品标签 上的应用中使用UCC/EAN-128码的趋势有进一步的发展。 两维码符号法正在跟进 两维码符号法是条码发展的下一步骤。它们比传统的条形码的密度高得多,所以能提供较高的信息完整程度。因为它们能够将更多的信息放入更小的面积内,所以它们为许多不同的应用所接受。

常用一维条形码编码规则.

常用一维条形码 139码(CODE39) 39码可以包含数字及英文字母。除了超市、零售业的应用中使用UPC/EAN码外,几乎在其他饿应用环境中,都是使用39码。39码是目前使用最广泛的条码规格,支持39码的软硬件设备也最齐全。 1.1 特征 ◆能表示44个字符,A-Z、0-9、SPACE、-、.、$、/、+、%、* ◆分散式,条码组之间使用细白条分隔 ◆两种宽度 ◆自我检查 ◆有扩展模式《Full ASCII Mode》 ◆检查码字符可有可无,视需求而定 1.2 组成 ◆各个字符有9条黑白相间,粗细不同的线条组成,其中6条为黑白细条3条黑白粗 条 ◆一串字符必须在头尾加上起始字符和结束字符“*” 1.3 校验方法 找到输入字符串每个字符对应值,求和,除以43,取余数。

1.4 条码说明

1.5 编码表 P.S. 在程序中可以使用“11”表示宽黑条,‘1’表示细黑条,“00”表示宽白条,“0”表示细白条。那么字符1就可以表示为110100101011。使用此方法建立一个编码表,每个字符可以长度为12的“01”字符串来表示。

1.6 典型CODE39条码 1.7 CODE39的扩展码 扩展码表同CODE93。但是扩展方式不同,39码使用$,/,+.%与其26个大写字母组合,表示ASCII码表中的其他字符。条空表示方式和校验方式与标准39码相同。 93码中使用的控制码与26个大写字母的组合。 293码(CODE93) 2.1 组成 ◆字母:A-Z,数字:0-9,符号:SPACE, - , . , $ , / , +, %, 控制码:$ , / , +, %,起始结束码: □ ◆每个字由9个模组成,包括3条粗细黑条及3条粗细白条。每一黑条或白条有可能为 1.2.3.4模组成 2.2 特征 ◆用4个控制码$, %, /, + 组合其他字母或符号,可编程FULL ASCII字母,读码器读到 上面4个控制码的组合时候,送出的字尾所对应的ASCII。 ◆有2个检验码C和K。 2.3 校验方法 ◆先查出资料所对应值,对应值的表如下

条形码识别技术

1.条码技术概述 条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。条码技术的研究始于20世纪中期,是继计算机技术应用和发展应运而生的。随着70年代微处理器的问世,标志着“信息化社会”的到来,它要求人们对社会上各个领域的信息、数据实施正确、有效、及时的采集、传递和管理。因此如何代替人的视觉、人的手工操作、或者在复杂的环境中正确、迅速地获取信息并加以识别,成为人们普遍关心和有关人员精心研究的课题。 条码技术具有以下几个方面的优点: 1、可靠准确。有资料可查键盘输入平均每300个字符一个错误,而条码输入平均每15000个字符一个错误。如果加上校验位出错率是千万分之一。 2、数据输入速度快。与键盘输入相比较,用条形码扫描读入电脑的速度大约是键盘输入的100倍,并且能够实现“即时数据输入”,一个每分钟打90个字的打字员1.6秒可输入12个字符或字符串,而使用条码,做同样的工作只需0.3秒,速度提高了5倍。 3、经济便宜。与其它自动化识别技术相比较,推广应用条码技术,所需费用较低。 4、灵活、实用。条码符号作为一种识别手段可以单独使用,也可以和有关设备组成识别系统实现自动化识别,还可和其他控制设备联系起来实现整个系统的自动化管理。同时,在没有自动识别设备时,也可实现手工键盘输入。 5、自由度大。识别装置与条码标签相对位置的自由度要比OCR大得多。条码通常只在一维方向上表达信息,而同一条码上所表示的信息完全相同并且连续,这样即使是标签有部分缺欠,仍可以从正常部分输入正确的信息。 6、设备简单。条码符号识别设备的结构简单,操作容易,无需专门训练。 7、易于制作,可印刷,称作为“可印刷的计算机语言”。条码标签易于制作,对印刷技术设备和材料无特殊要求。 正因为条码具有上述迅速,准确,廉价,使用方便,适应性强等优点,克服了其他输入方法的不足,所以他在各个行业中的发展可谓突飞猛进,最初应用

Newland NLS-HR1030手持式一维条码扫描枪

品牌新大陆Newland扫描方式红光扫描型号NLS-HR1030扫描密度≥5mil 类型手持式一维扫描枪扫描速度300次/秒外观尺寸(长×宽×高)156.0 ×95.0×71.0 mm 重量105g 新大陆HR1030扫描枪的概述: 这款新大陆nls hr1030手持扫描枪扫描速度非常快,主要用于一维码的扫描,可满足绝大多数条码扫

描的需要。可广泛应用于零售业,办公自动化等领域。高达300次/秒的扫描速度和超过30厘米的识读距离,使它成为手持条码扫描应用的不二选择。 新大陆nls hr1030采用自主的核心技术uIMG 。完全由本公司独立设计制造。uIMG包含光学系统、光电耦合系统、图形数字化、编解码、图形处理、嵌入式系统等一系列综合性技术。可识读常见国际标准一维条码,识读性能达到国际先进水平。可通过本公司所提供的应用配套,识读用户自定义的各种条码。 新大陆HR1030扫描枪的特征及优点: 1)支持各种一维条码的扫描。 新大陆HR1030扫描枪基本上可以扫描市场上常见的一维条码,误码率非常低! 2)可设置自感应扫描模式和不重复扫描模式。 新大陆HR1030扫描次数可达每秒300次,远超激光枪的100次/秒!!红光的覆盖面更多,所以比激光更全面读取条码的信息,对破损条码更容易读取。 3)可直接扫屏幕上的条码,而普通激光枪不行。还可以扫描纸箱上直接印刷的条码,而大部分扫描枪扫不了。 新大陆HR1030可以直接将扫描枪对着电脑屏幕扫条码,一般激光枪扫不了,只能将条码打印出来,再扫描。经过多次实际测试,新大陆HR1030还能很快识别那些直接印刷在纸箱上的条码(如上图),其他大部分扫描枪很难识别。 4)采用自主的核心技术uIMG ,能快速读取模糊、残缺码,如下图。

matlab一维条形码码字识别程序

close all I = imread('E:\txm.jpg'); J= rgb2gray(I); figure(1) imshow(J); title('灰度化图像 '); [e1,e2]=size(J); Im=imcrop(J,[e2/2-200,e1/2-200,400,400]); figure(2) subplot(1,2,1),imshow(Im) title('中心区域 '); subplot(1,2,2),imhist(Im) title('中心区域直方图'); [xa,ya]=size(Im); b=double(Im); zd=double(max(Im)) ; zx=double(min(Im)) ; T=double((zd+zx))/2; count=double(0); while 1 count=count+1; S0=0.0; n0=0.0; S1=0.0; n1=0.0; for i=1:xa for j=1:ya if double(Im(i,j))>=T S1=S1+double(Im(i,j)); n1=n1+1; else

S0=S0+double(Im(i,j)); n0=n0+1; end end end T0=S0/n0; T1=S1/n1; if abs(T-((T0+T1)/2))<0.1 break; else T=(T0+T1)/2; end end count T K=find(J=T); J(K)=255; figure(3) imshow(J) title(' 图像二值化 '); B=medfilt2(J,[5,1]); figure(4) imshow(B) title('中值滤波后图像'); [y0,x0]=size(B); BW = edge(B,'log'); figure(5);imshow(BW);title('边缘检测图像')

紫光FS1000一维平台扫描器

紫光FS1000一维平台扫描器 产品概述 FS1000是一款平台式一维条码扫描器,体积轻巧,性能卓越,在扫描之间绝对不需停顿,保障工作效率。FS1000外观简洁大方,性能稳定可靠的小型平台式一维扫描解决方案。设备拥有可旋转稳定支架,适用于各种柜面场合,免除手持不便,从而实现一流的扫描性能。 紫光FS1000 技术参数 物理参数 机身重量400g 数据线重量200g 外形尺寸162mm x 95mm x 78mm 电气特性 性能参数 光源:可见激光二极管650nm+10nm 扫描速度:1500 扫描次数/秒 扫描线数:20线 接口:USB、RS232 环境参数 工作温度:-20°C to 60°C (-4°F to 144°F) 存储温度:-30°C to 70°C (-22°F to 158°F) 相对湿度:5% to 95% (不凝结) 环境光照:正常室内与室外阳光的直射

机械制图 单位:毫米 解码能力 Australian Post, Canada Post, Codabar, Codablock, Code 11, Code 39, Code 93, Code 128/EAN128, Dutch Post, EAN.UCC Composite, Interleaved 2 of 5, Japan Post, Matrix 2 of 5, MSI Code, Plessey Code, Postnet, RSS, Standard 2 of 5, Telepen, TLC 39, UPC/EAN, Discrete 2 of 5, Trioptic 39, ISBT 128, UK/Plesssy, China Post, Code 32, Bookland EAN, Coupon Code, GS1 Databar, GS1 Databar Limited, GS1 Databar Expanded. 可靠性参数 抗热冲击性能 最高温度:60 °C (140 °F) 最低温度:-20 °C (-4 °F) 循环周期:30分钟高温;30分钟低温 循环次数:24 抗机械冲击性能 振动:2000 G, 0.7 ms, 3 axis 摔落:可承受0.5米跌落至水泥地面上

条形码尺寸

EAN-13通用商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成。商品条形码中的前缀码是用来标识国家或地区的代码,赋码权在国际物品编码协会,如00-09代表美国、加拿大。45-49代表日本。690-692代表中国大陆,471代表我国台湾地区,489代表香港特区。制造厂商代码的赋权在各个国家或地区的物品编码组织,我国由国家物品编码中心赋予制造厂商代码。商品代码是用来标识商品的代码,赋码权由产品生产企业自己行使,生产企业按照规定条件自己决定在自己的何种商品上使用哪些阿拉伯数字为商品条形码。商品条形码最后用1位校验码来校验商品条形码中左起第l-12数字代码的正确性。 全文: 商品条形码是指由一组规则排列的条、空及其对应字符组成的标识,用以表示一定的商品信息的符号。其中条为深色、空为纳色,用于条形码识读设备的扫描识读。其对应字符由一组阿拉伯数字组成,供人们直接识读或通过键盘向计算机输人数据使用。这一组条空和相应的字符所表示的信息是相同的。 条形码技术是随着计算机与信息技术的发展和应用而诞生的,它是集编码、印刷、识别、数据采集和处理于一身的新型技术。 使用条形码扫描是今后市场流通的大趋势。为了使商品能够在全世界自由、广泛地流通,企业无论是设计制作,申请注册还是使用商品条形码,都必须遵循商品条形码管理的有关规定。 目前世界上常用的码制有ENA条形码、UPC条形码、二五条形码、交叉二五条形码、库德巴条形码、三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码。 EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,通用于世界各地,是目前国际上使用最广泛的一种商品条形码。我国目前在国内推行使用的也是这种商品条形码。EAN商品条形码分为EAN-13(标准版)和EAN-8(缩短版)两种。 EAN-13通用商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成。商品条形码中的前缀码是用来标识国家或地区的代码,赋码权在国际物品编码协会,如00-09代表美国、加拿大。45-49代表日本。690-692代表中国大陆,471代表我国台湾地区,489代表香港特区。制造厂商代码的赋权在各个国家或地区的物品编码组织,我国由国家物品编码中心赋予制造厂商代码。商品代码是用来标识商品的代码,赋码权由产品生产企业自己行使,生产企业按照规定条件自己决定在自己的何种商品上使用哪些阿拉伯数字为商品条形码。商品条形码最后用1位校验码来校验商品条形码中左起第l-12数字代码的正确性。

一维条码的工作原理

AIDC技术中最古老最成熟的技术就是条码技术,它也是AIDC技术中应用最广泛和最成功的技术。我们从超级市场上买回来的果品、蜂蜜等,果品箱、蜂蜜罐上肯定会有编码,不管是超级市场自己编的条码,还是商品制造者商标上的条码。实际上,条码的种类是很多的,已知的条码种类现在就有250种之多。条码技术的主要优点如下: ?简单:条码符号制作容易,扫描操作简单易行; ?信息采集速度快:普通计算机的键盘录入速度是每分钟200字符,而利用条码扫描录入信息的速度是键盘录入的20倍; ?采集信息量大:利用条码扫描,一次可以采集十几位字符的信息,而且可以通过选择不同码制的条码增加字符密度,使录入的信息量成倍地增加; ?设备结构简单,成本低。 在实际应用中,条码一般可以分成一维条码、二维条码两种。下面对一维条码简单介绍:一维条码(线形条码) 这种条码是由一个接一个的“条”和“空”排列组成的,条码信息靠条和空的不同宽度和位置来传递,信息量的大小是由条码的宽度和印刷的精度来决定的,条码越宽,包容的条和空越多,信息量越大;条码印刷的精度越高,单位长度内可以容纳的条和空越多,传递的信息量也就越大。这种条码技术只能在一个方向上通过“条”与“空”的排列组合来存储信息,所以叫它“一维条码”。 1、一维条码技术的基础术语 1)条(BAR):条码中反射率较低的部分,一般印刷的颜色较深。 2)空(SPACE):条码中反射率较高的部分,一般印刷的颜色较浅。 3)空白区(CLEAR AREA):条码左右两端外侧与空的反射率相同的限定区域。 4)起始符(START CHARACTER):位于条码起始位置的若干条与空。 5)终止符(STOP CHARACTER):位于条码终止位置的若干条与空。 6)中间分隔符(CENTRAL SEPERATING CHARACTER):位于条码中间位置的若干条与空。 7)条码数据符(BAR CODE DATD CHARACTER):表示特定信息的条码符号。 8)校验符(CHECK CHARACTER):表示校验码的条码若干条与空。 9)供人识别字符(HUMAN READABLE CHARACTER):位于条码符的下方,与相应的条码相对应的、用于供人识别的字符。 2、一维条码的结构

一维条码和二维条码的区别

一维条码(1D Barcode) 一维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。 一维条码的应用可以提高信息录入的速度,减少差错率,但是一维条码也存在一些不足之处: ●数据容量较小: 30个字符左右 ●只能包含字母和数字 ●条码尺寸相对较大(空间利用率较低) ●条码遭到损坏后便不能阅读 二维条码(2D Barcode) 在水平和垂直方向的二维空间存储信息的条码,称为二维条码(2-dimensional bar code).二维条码的分类 与一维条码一样,二维条码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型 1.线性堆叠式二维码是在一维条码编码原理的基础上,将多个一维码在纵向堆 叠而产生的。典型的码制如:Code 16K、Code 49、PDF417等。 2.矩阵式二维码是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编 码。典型的码制如: Aztec、Maxi Code、QR Code、 Data Matrix等。 3.邮政码通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。 在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 等,其中: ●Data Matrix 主要用于电子行业小零件的标识,如Intel的奔腾处理器的 背面就印制了这种码。 ● Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣 和跟踪。 ●* Aztec 是由美国韦林(Welch Allyn)公司推出的,最多可容纳3832个 数字或3067个字母字符或1914个字节的数据。 特点 1.信息容量大例如PDF417码除可以表示字母、数字、ASCII字符外,还能表达 二进制数。 2.错误纠正能力一维条码通常具有校验功能以防止错读,一旦条码发生污损将 被拒读。而二维条码不仅能防止错误,而且能纠正错误,即使条码部分损坏, 也能将正确的信息还原出来。 3.印制要求不高普通打印设备均可打印,传真件也能阅读。 4.可用多种阅读设备阅读 PDF417码可用带光栅的激光阅读器,线性及面扫描的 图像式阅读器阅读。 5.尺寸可调以适应不同的打印空间

一维条形码与二维条形码

一、什么是条码? 答:条码是由一组规则排列的条、空或与其相对应的字符组成的标记,用以表示一定的信息。这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。这些条和空可以有各种不同的组合方法,从而构成不同的图形符号,即各种符号体系,也称码制,适用与不同的场合。 二、什么是一维条码? 答:一维条码又称线形条码。我们通常把那些只在一个方向(一般是水平方向,在垂直方向则不表达任何信息)表达信息的条码叫一维条码。如:我们经常看到的各种商品上的条码、挂号信和特快专递上的条码

都属于一维条码。目前使用频率最高的几种码制是:EAN、UPC、三九码、交插二五码和128码。 三、一维条码目前都有哪些应用? 答:一维条码广泛的应用于仓储、邮电、运输、商业盘点等许多领域。应用最广泛、最为人们熟悉的还是通用商品流通销售领域的POS(Point Of Sale)系统,也称为销售终端或扫描系统。北美、欧洲各国和日本普遍采用POS系统,其普及率已达95%以上。条形码技术在电子政务公文流转领域的应用始于远光公司在1999年研发的公文流转智能管理系统,该系统应用在我国最大的机要文件交换机构——国务院办公厅中央国家机关机要文件交换站中,这是全国第一个将条形码自动识别技术应用于公文流转领域的信息管理系统。 四、什么是二维条码? 答:在水平和垂直方向的二维空间存储信息的条码,称为二维条码。二维条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带,并可用机器自动识读的理想手段,能够不依赖数据库及通讯网络而单独应用。 五、二维条码是如何分类的? 答:从结构上讲,二维条码分为两类,其中一类由矩阵代码和点代码组成,其数据是以二维空间的形态编码的;另一类由多行条码符号组成,其数据以成串的数据行显示。常用的码制有CODE49、CODE16K、PDF417。PDF是便携式数据文件(PORTABLE DATA FILE)的缩写,417则与宽度代码有关,用来对字符编码。PDF417 由美国Symbol公司研制,是中国现行唯一通过国家标准认证的二维条码。 六、二维条码有哪些特点? 答:二维条码密度高,信息含量大,保密、防伪性能好,可以将照片、指纹、掌纹、视网膜、声音、签名、

解读几种条码扫描器的工作原理

工业固定式条码扫描识读 ——摘选自邦越条码知识 在制造业生产线上自动控制或跟踪在制品,或者在传送带上自动分拣物品,都需要准确可靠而无人值守的条码识别手段。固定式条码扫描器可以有各种不同的外型尺寸、扫描形式、识读分辨率、扫描距离、扫描区域、识读景深、安装方式和接口方式,也可以组成条码扫描网络,成组工作,再配合传感器和多种高级智能分析技术,能够完成各种环境下任何复杂的条码自动识别工作,并将数据或信号传送到计算机或PLC。具体的解决方案基于具体的应用环境和要求以及约束条件。 柜台式条码扫描识读 在零售连锁店、便利店、书店或药店,收银员通常要将商品拿到柜台上来进行条码扫描。台式条码扫描器结构紧凑,通常安放在收银柜台上,与POS系统连接。它通过较大的扫描窗形成多条交叉的网状扫描线,从而实现全方向条码扫描。操作者不需要仔细地调整条码的方向,也能够快速方便地识读商品条码,加快结帐过程。 手持式条码扫描识读 手持式条码扫描器是最常用和最灵活的条码扫描识别设备,一般有激光式,线阵CCD式和矩阵CCD式。它们适合于扫描体积和形状不一的物品,操作者可在固定站点处工作,也可接至手持数据终端或车载数据终端移动工作。需要识读的条码码制(一维或二维,堆叠式

或矩阵式),扫描距离,识读景深,识读分辨率,工业级别,接口方式,外形结构,应用场合以及反馈信息的方式等因素,是选择手持式条码扫描器时必须要考虑的。 无线移动条码扫描识读 一般来说,手持式条码扫描器需要通过电缆连接到PC、POS或其它固定终端上才能工作。在多数情况下,这种工作模式是可以接受的。但是,在有些情况下,操作人员需要在较大的范围内进行条码扫描工作,通讯电缆则成为极大的限制条件。无线条码扫描器使用大容量可充电电池,以无线通讯方式代替电缆连接,摆脱了与固定计算机之间的距离限制,并方便移动工作。无线条码扫描器除了可以进行点到点通讯,即一个无线条码扫描器通过一个无线通讯基座与计算机通讯,还可实现多点到一点通讯,即多个条码扫描器通过一个无线通讯基座与计算机通讯,将多个条码扫描器以无线方式集中连接到计算机的同一个通讯接口。 二维条码的重要特点是编码密度很高,特别适合小尺寸产品的自动控制和跟踪管理,如印刷电路板和电子元器件制造过程。固定式二维条码识读器采用矩阵式CCD 图象技术,将照明、图形获取、图象处理、解码和通讯等模块集成在一起,能够快速方便地以全方向方式识别一维条码、堆叠式二维条码(如PDF417)和矩阵式二维条码(如Datamatrix和QR码)。由于结构非常紧凑并且具有全方向识别的特点,固定式二维条码识读器很容易结合到自动生产线当中或自动设备中。

matlab一维条形码码字识别程序讲解学习

m a t l a b一维条形码码字识别程序

close all I = imread('E:\txm.jpg'); J= rgb2gray(I); figure(1) imshow(J); title('灰度化图像 '); [e1,e2]=size(J); Im=imcrop(J,[e2/2-200,e1/2-200,400,400]); figure(2) subplot(1,2,1),imshow(Im) title('中心区域 '); subplot(1,2,2),imhist(Im) title('中心区域直方图'); [xa,ya]=size(Im); b=double(Im); zd=double(max(Im)) ; zx=double(min(Im)) ; T=double((zd+zx))/2; count=double(0); while 1 count=count+1; S0=0.0; n0=0.0; S1=0.0; n1=0.0; for i=1:xa for j=1:ya if double(Im(i,j))>=T S1=S1+double(Im(i,j)); n1=n1+1; else S0=S0+double(Im(i,j)); n0=n0+1; end end end T0=S0/n0; T1=S1/n1; if abs(T-((T0+T1)/2))<0.1 break;

else T=(T0+T1)/2; end end count T K=find(J=T); J(K)=255; figure(3) imshow(J) title(' 图像二值化 '); B=medfilt2(J,[5,1]); figure(4) imshow(B) title('中值滤波后图像'); [y0,x0]=size(B); BW = edge(B,'log'); figure(5);imshow(BW);title('边缘检测图像') %function code = barcode(pic) %条形码识别 check_left = [13,25,19,61,35,49,47,59,55,11;... %左边数据编码,奇39,51,27,33,29,57, 5,17, 9,23]; %左边数据编码,偶 check_right = [114,102,108,66,92,78,80,68,72,116]; %右边数据编码first_num = [31,20,18,17,12,6,3,10,9,5];%第一位数据编码 bar = imread('E:\txm.jpg');%读输入条形码图片 bar_Gray = rgb2gray(bar);%将RGB图片转换灰度图 [a_hist x] = imhist(bar_Gray); hist_max = []; if a_hist(1)>a_hist(2) hist_max = [hist_max 1]; end x = max(x); for i=2:x if a_hist(i)>a_hist(i-1) && a_hist(i)>a_hist(i+1) hist_max = [hist_max i]; end end

条形码识别系统

一、条形码识别原理 条形码的识别原理由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出的光经光阑及凸透镜1后,照射到黑白相间的条形码上时,反射光经凸透镜2聚焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电信号输出到放大整形电路.白条、黑条的宽度不同,相应的电信号持续时间长短也不同.但是,由光电转换器输出的与条形码的条和空相应的电信号一般仅10mV左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大.放大后的电信号仍然是一个模拟电信号,为了避免由条形码中的疵点和污点导致错误信号,在放大电路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读.整形电路的脉冲数字信号经译码器译成数字、字符信息.它通过识别起始、终止字符来判别出条形码符号的码制及扫描方向;通过测量脉冲数字电信号0、1的数目来判别出条和空的数目.通过测量0、1信号持续的时间来判别条和空的宽度.这样便得到了被辩读的条形码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应的编码规则,便可将条形符号换成相应的数字、字符信息,通过接口电路送给计算机系统进行数据处理与管理,便完成了条形码辨读的全过程. 图解条形码无线扫描器设计原理 摘要:本文介绍了一种工程实用条码扫描器硬件系统设计。该扫描器能快速扫描一维或二维条码,同时还具有本地显示、存储信息、对外进行无线通讯等功能。 关键词:条形码;无线传输;mPSD3254BV单片机 在当今工业社会向信息社会,工业经济向知识经济发展过程中,自动识别技术正发挥着越来越重要的作用。在需要物品识别,数据扫描,信息登陆的业务领域,使用自动识别技术,可提高对物品及相关信息进行管理的效率和可靠性。条码数据扫描器正是为此设计的。 本无线扫描器以单片机mPSD3254BV 为核心,通过扫描子系统可以扫描一维或二维条型码,键盘和显示系统方便用户进行人机交流,无线传送模块可以将现场采集到的数据发送到其它设备,同时本扫描器也能存储上万条数据信息,整个系统采用锂电池供电,可以连续工作40小时,当采集数据异常状态时,系统会自动蜂鸣,振动提醒用户。系统结构如图1如示。

条形码扫描器

1.介绍 条码扫描器,又称为条码阅读器、条码扫描枪、条形码扫描器、条形码扫描枪及条形码阅读器。它是用于读取条码所包含信息的阅读设备,利用光学原理,把条形码的内容解码后通过数据线或者无线的方式传输到电脑或者别的设备。广泛应用于超市、物流快递、图书馆等扫描商品、单据的条码。 2.条形码扫描器基本原理 2.1基本原理 条形扫描器是用于读取条形码所含信息的设置,通常包括:光源、接收器、光电转换部件、译码电路、计算机接口。 条形扫描器的基本原理为:光源发出的光线通过光学系统照射到条形码符号, 被反射回来的光经过光学系统成像在光电转换器上,使其产生电信号;电信号通 电路放大后产生模拟电压,它与照射到条形码符号上被反射回来的光形成正比, 再经过滤波、整形,形成与模拟信号对应的方波信号,最后通过译码器翻译成计 算机可以接受的数字信号。 2.2基本组成 从系统结构和功能上讲,条码扫描器原理之系统由扫描器系统、信号整形、译码三部分组成。

2.2.1扫描系统 扫描系统由光学系统及探测器即光电转换器件组成,它完成对条码符号的光学扫描,并通过光电探测器,将条码条空图案的光信号转换成为电信号。 1.光源 对于一般的条码应用系统,条码符号在制作时,条码符号的条空反差均针对630nm附件的红光而言,所以条码扫描器的扫描光源应该含有较大的红光部分。扫描器所选用的光源种类很多,主要有半导体光源、激光光源。 半导体发光二极管 半导体发光二极管又称为发光二极管,它实际上就是一个由P型半导体和N型半导体组合而成的二极管。当在P-N结上施加正向电压时发光二极管就发出光来。 激光器 半导体激光器功率一般在3~5nm,与其它光源相比,有独特的性质: ●有很强的方向性 ●单色性和相干性极好 ●可获得极高的光强度,激光条码扫描器采用的都是低功率的激光二极管 2.光电转换接收器 接收到的光信号需要经光电转换器转换成电信号。 扫描器的信号频率为几十千赫到几百千赫,一般采用硅光电池、光电二极管、光电三极管作为光电转换器件。 目前市场上扫描枪所使用的感光器件主要有四种:光电倍增管,硅氧化物隔离CCD,半导体隔离CCD,接触式感光器件(CIS或LIDE)。 主流是两种CCD,其原理简单说是:在一片硅单晶上集成了几千到几万个光电三极管,这些光电三极管分为三列,分别用红绿蓝色的滤色镜罩住,从而实现彩色扫描。简单的说是半导体的CCD三极管间漏电现象会影响扫描精度,用硅氧化物隔离会大大减小漏电现象(这个是绝缘体的),当然最好再加上温度控制,因为不管是半导体还是导体一般都是温敏的,升温导电性一般会提高,现在主流市场上的多数是半导体隔离CCD 用,硅氧化物隔离CCD 的比较少,显然是因为成本较高。 另外按照图像读出方式分类,CCD可以分为线型CCD和面型CCD两种。线型CCD的图像读出采用一维的方式,所以叫线型的。 线型CCD图像传感器最大特点是分辨率很高,最高可拍摄的像素数量高达1.3亿。其使用的CCD芯片长而窄,即对光线敏感的微小单元均匀地排成一列,而不像在面型CCD 中这样的微小单元均匀地排成若干列而形成一个矩形的平面。 接触式感光器件,它使用的感光材料一般是我们用来制造光敏电阻的硫化镉,生产成本应该是较CCD低得多(市场上同等精度的CIS扫描枪总是比CCD的扫描枪便宜不少正是这个原因)。扫描距离短,扫描清晰度低甚至有的时候达不到标称值,温度变化比较容易影响扫描精度,这些正是这种扫描枪的致命问题。 光电倍增管,感光材料主要是金属铯的氧化物。他的扫描精度,甚至受温度影响的程度和噪音等都是最好的,可价格也是最贵的。

条形码识别技术

一维条形码生成与识别技术 一、引言 条形码(简称条码)技术是集条码理论、光电技术、计算机技术、通信技术、条码印制技术于一体的一种自动识别技术。条形码是由宽度不同、反射率不同的条(黑色)和空(白色),按照一定的编码规则编制而成,用以表达一组数字或字母符号信息的图形标识符。条形码符号也可印成其它颜色,但两种颜色对光必须有不同的反射率,保证有足够的对比度。条码技术具有速度快、准确率高、可靠性强、寿命长、成本低廉等特点,因而广泛应用于商品流通、工业生产、图书管理、仓储标证管理、信息服务等领域。 二、EAN-13条形码简介 一维条码主要有EAN和UPC两种,其中EAN码是我国主要采取的编码标准。EAN是欧洲物品条码(European Article Number Bar Code)的英文缩写,是以消费资料为使用对象的国际统一商品代码。只要用条形码阅读器扫描该条码,便可以了解该商品的名称、型号、规格、生产厂商、所属国家或地区等丰富信息。 EAN通用商品条码是模块组合型条码,模块是组成条码的最基本宽度单位,每个模块的宽度为毫米。在条码符号中,表示数字的每个条码字符均由两个条和两个空组成,它是多值符号码的一种,即在一个字符中有多种宽度的条和空参与编码。条和空分别由1~4个同一宽度的深、浅颜色的模块组成,一个模块的条表示二进制的“1”,一个模块的空表示二进制的“0”,每个条码字符共有7个模块。即一个条码字符条空宽度之和为单位元素的7倍,每个字符含条或空个数各为2,相邻元素如果相同,则从外观上合并为一个条或空,并规定每个字符在外观上包含的条和空的个数必须各为2个,所以EAN码是一种(7,2)码。 EAN条码字符包括0~9共10个数字字符,但对应的每个数字字符有三种编码形式,左侧数据符奇排列、左侧数据符偶排列以及右侧数据符偶排列。这样十个数字将有30种编码,数据字符的编码图案也有三十种,至于从这30个数据字符中选哪十个字符要视具体情况而定。在这里所谓的奇或偶是指所含二进制“1”的个数为偶数或奇数[2]。 EAN-13码的格式 EAN条形码有两个版本,一个是13位标准条码(EAN-13条码),另一个是8位缩短条码(EAN-8条码)。EAN-13条码由代表13位数字码的条码符号组成,如图1所示[1]。

条码识别与扫描原理

识别原理 要将按照一定规则编译出来的条形码转换成有意义的信息,需要经历扫描和译码两个过程。物体的颜色是由其反射光的类型决定的,白色物体能反射各种波长的可见光,黑色物体则吸收各种 波长的可见光,所以当条形码扫描器光源发出的光在条形码上反射后,反射光照射到条码扫描器内部的光电转换器上,光电转换器根据强弱不同的反射光信号,转换成相应的电信号。根据原理的差异,扫描器可以分为光笔、红光CCD、激光、影像四种。电信号输出到条码扫描器的放大电路增强信号之后,再送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同,相应的电信号持续时间长短也不同。主要作用就是防止静区宽度不足。然后译码器通过测量脉冲数字电信号0,1的数目来判别条和空的数目。通过测量0,1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是

杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则(例如:EAN-8码),将条形符号换成相应的数字、字符信息。最后,由计算机系统进行数据处理与管理,物品的详细信息便被识别了。 扫描原理 条形码的扫描需要扫描器,扫描器利用自身光源照射条形码,再利用光电转换器接受反射的光线,将反射光线的明暗转换成数字信号。不论是采取何种规则印制的条形码,都由静区、起始字符、数据字符与终止字符组成。有些条码在数据字符与终止字符之间还有校验字符。 ▲静区:静区也叫空白区,分为左空白区和右空白区,左空白区是让扫描设备做好扫描准备,右空白区是保证扫描设备正确识别条码的结束标记。 为了防止左右空白区(静区)在印刷排版时被无意中占用,可在空白区加印一个符号(左侧没有数字时印<;号,右侧没有数字时加印>;号)这个符号就叫静区标记。主要作用就是防止静区宽度不足。只要静区宽度能保证,有没有这个符号都不影响条码的识别。 ▲起始字符:第一位字符,具有特殊结构,当扫描器读取到该字符时,便开始正式读取代码了。 ▲数据字符:条形码的主要内容。 ▲校验字符:检验读取到的数据是否正确。不同编码规则可能会有不同的校验规则。 ▲终止字符:最后一位字符,一样具有特殊结构,用于告知代码扫描完毕,同时还起到只是进行校验计算的作用。 为了方便双向扫描,起止字符具有不对称结构。因此扫描器扫描时可以自动对条码信息重新排列。条码扫描器有光笔、CCD、激光、影像四种 ▲光笔:最原始的扫描方式,需要手动移动光笔,并且还要与条形码接触。

Halcon识别一维码的代码实例

Stage I's hdev的代码实例 =============================================================================== * Autodiscrimination A.hdev * * Code generated by Image Acquisition 03 * 获取条形码,并计算及显示解码时间,并从规定读取的条码类型范围中读取被解码的条码类型也可设置成不规定条码类型即自动识别,但会增加解码时间,甚至出现误读的情况。 * 可读取多个不同类型的条码,并且多个条码用不同颜色的区域框区分,且读取出来的信息也以相应的颜色做区分 dev_close_window () dev_open_window (0, 0, 600, 600, 'black', WindowHandle) *先关闭活动图形窗口,再打开这个窗口,标识符为WindowHandle; *相对于界面左上角第0行、第0列,大小为300×300像素,颜色为黑色。 open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', 'Gsou USB2.0 Camera', 0, -1, AcqHandle) * 打开帧接收器(图像采集设备,如摄像头,工业相机等),参数(Parameter)详见这个算子注意,采集器名称不同要更改,或者用助手获取也可以。grab_image_start (AcqHandle, -1) while (true) grab_image_async (Image, AcqHandle, -1) *开始条形码识别 create_bar_code_model ([], [], BarCodeHandle) *必备的创建条码解码的开头,下面有一段结束代码 dev_update_var ('off') dev_update_pc ('off') dev_update_window ('off') * 刷新窗体 set_display_font (WindowHandle, 14, 'mono', 'true', 'false')

相关文档
最新文档