Tải bản đầy đủ (.doc) (11 trang)

Báo cáo khoa học Đại học tin. Nhận dạng mã vạch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (377.03 KB, 11 trang )

MỤC LỤC

Mục

Tên chương, mục và tiểu mục

Thông tin chung về đề tài
Mục lục
I
II
1
2
3
4
5

LÝ DO CHỌN ĐỀ TÀI

5.1
5.2
5.3
5.4
6
6.1
6.2
III
IV

I.

NỘI DUNG


Mục tiêu của đề tài
Đối tượng, phạm vi nghiên cứu
Phương pháp nghiên cứu
Ý nghĩa khoa học, thực tiễn và khả năng ứng dụng của đề tài
Nội dung nghiên cứu
Khái quát chung về mã vạch
Tổng quan về một số loại mã vạch
Mã vạch EAN-13
Kỹ thuật cài đặt

Cài đặt thử nghiệm chương trình
Ngôn ngữ và công cụ phát triển
Kết quả cài đặt thử nghiệm
Kết luận
Danh mục tài liệu tham khảo

Trang
1
1
2
2
2
2
2
3
3

3
4
7

10
10
10
10
13
13

LÝ DO CHỌN ĐỀ TÀI

Mã vạch là phương pháp lưu trữ và truyền tải thông tin bằng một lọai ký hiệu
gọi là ký mã vạch. Ký hiệu mã vạch hay gọi tắt cũng là mã vạch, là 1 ký hiệu tổ
hợp các khoảng trắng và vạch thẳng để biểu diễn các mẫu ký tự, ký hiệu và các con
số. Sự thay đổi trong độ rộng của vạch và khoảng trắng biểu diễn thông tin số hay
chữ số dưới dạng mà máy có thể đọc được.
Để phục vụ cho các siêu thị và các đơn vị kinh doanh người ta đã mã hóa các
thông tin của sản phẩm dưới dạng mã vạch để thuận tiện cho việc buôn bán và giao
dịch hàng hóa, đòi hỏi cần có một chương trình nhận dạng mã vạch để thông tin
của sản phẩm từ các mã vạch.
Hiện nay các thư viện đang áp dụng công nghệ mã vạch để quản lý thông tin
mượn sách của độc giả, và thông tin của sách, để giảm thiểu sức lao động của con
người
Với lý do trên chúng em chọn đề tài “Nhận dạng mã vạch và ứng dụng trong
kinh doanh” nhằm tạo ra một chương trình nhận dạng được mã vạch và tự động
làm hóa đơn
II.

NỘI DUNG
1. Mục tiêu của đề tài



Phân tích, thiết kế và cài đặt chương trình nhận dạng mã vạch, nhằm lấy thông tin của
sản phẩm từ mã vạch.
2. Đối tượng, phạm vi nghiên cứu
- Các loại cấu trúc mã vạch.
- phương phương pháp nhận dạng vạch, tổng hợp và cải tiến các phương pháp nhận dạng
về mã vạch, từ những kết quả đó xây dựng một hệ thống nhận dạng mã vạch để có thể
ứng dụng vào thực tế.
3. Phương pháp nghiên cứu
• Phương pháp lý thuyết
Tìm hiểu về thông tin của mã vạch, và phương pháp cài đặt chương trình nhận
dạng mã vạch, để lấy thông tin của sản phẩm trong mã vạch.
• Phương pháp thực tiễn
Áp dụng vào thực tiễn để kiểm nghiệm kết quả của chương trình

4. Ý nghĩa khoa học, thực tiễn và khả năng ứng dụng của đề tài
Kết quả của đề tài đã nhận dạng được mã vạch EAN-13 và có thể ứng dụng vào
trong thực tiễn phục vụ cho công việc kinh doanh, và các chương trình quản lý liên
quan đến mã vạch.
5. NỘI DUNG NGHIÊN CỨU
5.1. Khái quát chung về mã vạch
Mã vạch là phương pháp lưu trữ và truyền tải thông tin bằng một lọai ký hiệu gọi
là ký mã vạch. Ký hiệu mã vạch hay gọi tắt cũng là mã vạch, là 1 ký hiệu tổ hợp các
khoảng trắng và vạch thẳng để biểu diễn các mẫu ký tự, ký hiệu và các con số. Sự thay
đổi trong độ rộng của vạch và khoảng trắng biểu diễn thông tin số hay chữ số dưới
dạng mà máy có thể đọc được.
Mã số mã vạch được thu nhận bằng một máy quét mã vạch, là một máy thu nhận
hình ảnh của mã vạch in trên các bề mặt và chuyển thông tin chứa trong mã vạch đến
máy tính hay các thiết bị cần thông tin này. Nó thường có một nguồn sáng kèm theo
thấu kính, để hội tụ ánh sáng lên mã vạch, rồi thu ánh sáng phản xạ về một cảm quang
chuyển hóa tín hiệu ánh sáng thành tín hiệu điện. Ngoài ra, nhiều máy quét mã vạch

còn có thêm mạch điện tử xử lý tín hiệu thu được từ cảm quang để chuyển thành tín
hiệu phù hợp cho kết nối với máy tính.
Mã vạch tùy thuộc vào mục đích sử dụng mà người ta chia ra làm nhiều loại mã
vạch khác nhau, trong đó các dạng thông dụng trên thị trường mà ta thấy gồm UPC,
EAN, Code 39, Interleaved 2of 5, Codabar và Code 128. Ngoài ra, trong 1 số loại mã
vạch người ta còn phát triển làm nhiều Version khác nhau, có mục đích sử dụng khác
nhau, thí dụ UPC có các version là UPC-A, UPC-B, UPC-C, UPC-D và UPC-E; EAN
có các version EAN-8, EAN-13, EAN-14, Code 128 gồm Code 128 Auto, Code 128A, Code 128-B, Code 128-C.
Để đọc các được các ký hiệu mã vạch thì ta cần phải dùng một máy quét mã vạch
để đọc các loại mã vạch vào chương trình xử lý. Thông thường thì các loại mày quét
này được tích hợp sẵn một phần mềm để nhận dạng mã vạch, tùy theo tính chất của
công việc mà máy quét các máy quét khác nhau có thể đọc được các loại mã vạch
khác nhau.
5.2. Phân loại mã vạch
• Mã vạch UPC


UPC là 1 lọai ký hiệu mã hóa số được ngành công nghiệp thực phẩm ứng dụng vào
năm 1973. Ngành công nghiệp thực phẩm đã phát triển hệ thống này nhằm gán mã số
không trùng lặp cho từng sản phẩm. Người ta sử dụng UPC như “giấy phép bằng số” cho
các sản phẩm riêng lẽ.UPC gồm có 2 phần: phần mã vạch mà máy có thể đọc được và
phần số mà con người có thể đọc được.Số của UPC gồm 12 ký số, không bao gồm ký tự.
Đó là các mã số dùng để nhận diện mỗi một sản phẩm tiêu dùng riêng biệt

Nhìn ký hiệu UPC như hình bên ta thấy tổng cộng gồm 12 ký số:
Ký số thứ 1: Ở đây là số 0, gọi là ký số hệ thống số (number system digit) hoặc còn gọi là
“Family code”. Nó nằm trong phạm vi của 7 con số định rõ ý nghĩa và chủng lọai của sản
phẩm như sau:
*5*4*3*2* 0, 6, 7 xuất.


Coupons: Phiếu lĩnh hàng hóa
Dành cho người bán lẽ sử dụng
Thuốc và các mặt hàng có liên quan đến y tế.
Các món hàng nặng tự nhiên như thịt và nông sản.
Gán cho tất cả các mặt hàng khác như là một phần nhận diện của nhà sản

Mã vạch UPC được phát triển thành nhiều phiên bản như UPC-A, UPC-B, UPC-C,
UPC-D và UPC-E trong đó UPC-A được coi như phiên bản chuẩn của UPC, các phiên
bản còn lại được phát triển theo những yêu cầu đặc biệt của ngành công nghiệp.


Mã EAN

Mã số EAN-13 gồm 13 con số có cấu tạo như sau: từ trái sang phải
+ Mã quốc gia: hai hoặc ba con số đầu.
+ Mã doanh nghiệp: có thể gồm từ bốn, năm hoặc sáu con số.
+ Mã mặt hàng: có thể là năm, bốn, hoặc ba con số tùy thuộc vào mã doanh
nghiệp.
+ Số cuối cùng là số kiểm tra.
Mã số EAN-8 gồm 8 con số có cấu tạo như sau:
+ Ba số đầu là mã số quốc gia.
+ Bốn số sau là mã mặt hàng.
+ Số cuối cùng là số kiểm tra.
• Mã vạch code 39
Code 39 được phát triển sau UPC và EAN là ký hiệu chữ và số thông dụng
nhất. Nó không có chiều dài cố định như UPC và EAN do đó có thể lưu trữ nhiều
lượng thông tin hơn bên trong nó. Do tính linh họat như vậy, Code 39 được ưa


chuộng rộng rãi trong bán lẻ và sản xuất. Bộ ký tự này bao gồm tất cả các chữ hoa,

các ký số từ 0 đến 9 và 7 ký tự đặc biệt khác.



Mã vạch INTERLEAVED 2 OF 5
Interleaved 2 of 5 là một lọai mã vạch chỉ mã hóa ký số chứ không mã hóa ký
tự. Ưu điểm của Interleaved 2 of 5 là nó có độ dài có thể thay đổi được và được
nén cao nên có thể lưu trữ được nhiều lượng thông tin hơn trong một khỏang
không gian không lớn lắm.

• Các loại mã vạch xếp chồng
Các loại mã vạch xếp chồng như: Code 16K, Code 49, PDF-417

Code16K

PDF-417

Code-49

• Các loại mã vạch ma trận
Các loại mã vạch ma trận như như Data Matrix,Maxicode,Softstrip,Vericode.Với sự
phát triển của mã ma trận, ta thấy rằng ngành mã vạch đã thực sự phát triển theo một
hướng khác: Cơ sở dữ liệu. Một ngày nào đó, bạn sẽ có trong tay một chiếc đĩa mềm,
hoặc Flashdisk trong đó chỉ toàn là các mã ma trận lưu trữ danh sách của các VIP mà
không sợ bị các Hacker bẻ khoá. Vì chỉ có máy quét mới có thể “bẻ khoá” được mã vạch,
hơn thế nữa không phải máy quét nào cũng có thể đọc được mã vạch này.

Bảng dưới đây mô tả công dụng mã hoá của các loại mã vạch thông dụng

Loại mã vạch

UPC
EAN

Ngành nghề sử dụng
4Công nghiệp thực phẩm
4Các nhà buôn bán lẻ
4Sử dụng ở Bắc Mỹ và
Canada
4Giống như UPC

Lý do
4Cần mã số chứ không cần mã
chữ
4Mật độ cao, đáng tin cậy.
4Cần mã kiểm lỗi
4Giống như trên


4Sử dụng cho các nước
khác không thuộc Bắc Mỹ
4Bộ Quốc phòng
4Ngành y tế
4Cần mã hoá cả chữ lẫn số
4Công nghiệp nhôm
4Dễ in.
Code 39
4Các nhà xuất bản sách định4Rất an toàn, không có mã
kỳ
kiểm lỗi
4Các cơ quan hành chánh

4Phân phối, lưu kho
4Các sản phẩm không phải
là thực phẩm
Interleaved
4Dễ in.
4Các nhà sản xuất, nhà
2of 5
4Kích thước nhỏ gọn
buôn bán lẻ.
4Hiệp hội vận chuyển
Container
4Ngân hàng máu
4Thư viện
4Thư tín chuyển phát nhanh 4Rất an toàn.
Codabar
trong nước.
4Dày dặt
4Công nghiệp xử lý Film
ảnh
4Công nghiệp chế tạo
Code 128
4Cần dung lượng 128 ký tự
4Vận chuyển Container

5.3.

Mã vạch EAN-13
Mã số EAN-13 gồm 13 con số có cấu tạo như sau: từ trái sang phải
+ Mã quốc gia: hai hoặc ba con số đầu
+ Mã doanh nghiệp: có thể gồm từ bốn, năm hoặc sáu con số

+ Mã mặt hàng: có thể là năm, bốn, hoặc ba con số tùy thuộc vào mã doanh nghiệp
+ Số cuối cùng là số kiểm tra
Từ năm 1995 đến tháng 3/1998, EAN-VN cấp mã M gồm bốn con số và từ tháng
3/1998, theo yêu cầu của EAN quốc tế, EAN-VN bắt đầu cấp mã M gồm 5 con số.
Mã vạch EAN là loại mã vạch sử dụng riêng để thể hiện mã số EAN. Mã vạch
EAN có những tính chất sau đây:
+ Chỉ thể hiện các con số (từ O đến 9) với chiều dài cố định (13 hoặc 8 con số)
Là mã đa chiều rộng, tức là mỗi vạch (hay khoảng trống) có thể có chiều rộng từ 1 đến
4 môđun. Do vậy, mật độ mã hoá cao nhưng độ tin cậy tương đối thấp, đòi hỏi có sự
chú ý đặc biệt khi in mã.
+ Mã vạch EAN có cấu tạo như sau: Kể từ bên trái, khu vực để trống không ghi ký
hiệu nào cả, ký hiệu bắt đầu, ký hiệu dãy số bên trái, ký hiệu phân cách, ký hiệu dãy
số bên phải, số kiểm tra, ký hiệu kết thúc, sau đó là khoảng trống bên phải. Toàn bộ
khu vực mã vạch EAN-13 tiêu chuẩn có chiều dài 37,29 mm và chiều cao là
25,93mm.


Trong mã vạch, mỗi số được thể hiện bằng 2 vạch và 2 khoảng trắng. Một cấu hình
được sử dụng cho các số bên trái "L", trong khi cấu hình còn lại sử dụng cho các số
bên phải "R". (Điều này không mâu thuẫn với phương thức mã hóa chẵn lẻ của EAN13, do nếu quy đổi thành EAN-13 thì UPC-A có số đầu tiên bằng 0 và khi số đầu tiên
của EAN-13 bằng 0 thì các số có số thứ tự từ 2 đến 7 (1 đến 6 trong UPC-A) được mã
hóa theo tính lẻ). Điều này được sử dụng để làm cho mã vạch có thể được quét ngược
hay hay xuôi, giúp cho máy quét có thể xác định từ hướng nào các mã được quét và
làm cho nó được đăng ký chính xác vào máy tính. Nếu như không có điều này, sản
phẩm có thể dễ dàng bị đăng ký sai. Mỗi số có 4 dạng mã hóa, trong đó 2 được sử
dụng trong UPC-A và 3 trong EAN

Cấu trúc của mã vạch EAN-13 : Các vạch bảo vệ trái - 6 số kể từ số thứ
hai đến số thứ bảy - các vạch bảo vệ trung tâm - 5 số tiếp theo (8-12)- số kiểm
tra - các vạch bảo vệ phải.

Việc mã hóa của 6 số từ vị trí thứ 2 đến vị trí thứ 7 phụ thuộc vào giá trị của số
đầu tiên theo quy tắc chẵn -lẻ dưới đây:

2

3

4

5

6

7

0

Lẻ

Lẻ

Lẻ

Lẻ

Lẻ

Lẻ

1


Lẻ

Lẻ

Chẵn

Lẻ

Chẵn

Chẵn

2

Lẻ

Lẻ

Chẵn

Chẵn

Lẻ

Chẵn

3

Lẻ


Lẻ

Chẵn

Chẵn

Chẵn

Lẻ

4

Lẻ

Chẵn

Lẻ

Lẻ

Chẵn

Chẵn

5

Lẻ

Chẵn


Chẵn

Lẻ

Lẻ

Chẵn

6

Lẻ

Chẵn

Chẵn

Chẵn

Lẻ

Lẻ

7

Lẻ

Chẵn

Lẻ


Chẵn

Lẻ

Chẵn


8

Lẻ

Chẵn

Lẻ

Chẵn

Chẵn

Lẻ

9

Lẻ

Chẵn

Chẵn


Lẻ

Chẵn

Lẻ

Chuỗi mã hóa chẵn hay lẻ của các giá trị số từ 0 đến 9 được liệt kê trong
bảng sau:
Giá trị số

Lẻ

Chẵn

0

0001101

0100111

1

0011001

0110011

2

0010011


0011011

3

0111101

0100001

4

0100011

0011101

5

0110001

0111001

6

0101111

0000101

7

0111011


0010001

8

0110111

0001001

9

0001011

0010111

Cách tính số kiểm tra trong mã vạch ,ví dụ mã vạch 893 3481 00106 : Cộng
tổng giá trị của các số ở thứ tự lẻ bắt đầu được tính từ phải sang trái của dãy MS (trừ
số C), ta có : 6 + 1 + 0 + 8 + 3 + 9 = 27 (1)
Nhân tổng của (1) với 3, ta có: 27 x 3 = 81 (2)
P -893 - nhõm 1.
M -4602 - nhóm 2.
I -00107 - nhóm 3.
C -8 - nhóm 4.
Cộng tổng giá trị của các số ở thứ tự chẵn còn lại, ta có :
0 + 0 + 1 + 4 + 3 + 8 = 16 (3)
Cộng giá trị (2) với (3), ta có : 81 + 16 = 97 (4)
Lấy giá trị của (4) làm tròn theo bội số của 10 (tức là 100) sát nhất với giá trị của (4)
trừ đi giá trị của (4) ta có: 100 - 97 = 3. Như vậy C = 3.
Trong trường hợp này mã số EAN - VN 13 có MSHH đầy đủ là
Quy ước: Các bit có giá trị 1 được in bằng mực đen thành một đường thẳng
đứng, các bit có giá trị 0 không được in (hoặc được in bằng mực trắng) thành một

đường thẳng đứng có cùng độ rộng với bit có giá trị 1.
Các vạch bảo vệ trái và phải có giá trị bit là 101. Các vạch bảo vệ trung tâm có
giá trị bit là 01010.


5.4.

Kỹ thuật cài đặt

Kỹ thuật cài đặt, ảnh mã vạch đầu vào là một ảnh màu với mức màu (G,R.B), ta sẽ
chuyển đổi ảnh mã vạch đầu vào thành ảnh đen trắng chỉ có hai mức màu là (0,0,0)
và (255,255,255) . Từ ảnh đen trắng này ta sẽ chọn một dòng làm đặc trưng, để xử lý
và nhận dạng trên một dòng này thay vì phải nhận dạng trên bộ ảnh của mã vạch.
Chuyển đổi một dòng trên ảnh mã vạch có mức màu (0,0,0) và (255,255,255)
thành một ma trận một chiều chứa các giá trị 0 và 1 ứng với điểm ảnh có giá trị của
mức màu là (0,0,0) hoặc (255,255,255) trên ảnh. Từ ma trận này ta sẽ chuyển đổi về
các giá trị mã hóa của các con số theo quy luật chẵn lẻ để tìm ra các con số trên mã
vạch.
Đối sánh các con số tìm được vào cơ sở dữ liệu mã vạch để lấy thông tin của sản
phẩm phục vụ cho việc thanh toán và làm hóa đơn cho sản phẩm được bán.
Với kỹ thuật nhận dạng này thì sẽ giảm được thời tính toán, do chỉ xử lý trên một
dòng dữ liệu của ảnh mã vạch nên độ phức tạp tính toán và thời gian xử lý của chương
trình sẽ giảm hơn so với việc phải xử lý trên toàn bộ dữ liệu của ảnh mã vạch.
6. Cài đặt thử nghiệm chương trình
6.1. Ngôn ngữ và công cụ phát triển
Hệ thống được phát triển bởi bộ Microsoft Visual Studio 2008, ngôn ngữ lập trình
6.2.

Visual C# và hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005 tại server.
Kết quả cài đặt thử nghiệm

Giao diện khi chương trình bắt đầu


Chọn file ảnh để thực hiện nhận dạng

Giao diện sau khi nhận dạng mã vạch


Giao diện khi muốn in hóa đơn

III.

IV.

Khi quét nhiểu mặt hàng
Kết luận
Kết quả của đề tài đã cài đặt được chương trình nhận dạng được mã vạch ENA-13 và
có thể ứng dụng vào trong kinh doanh và các chương trình quản lý liên quan đến mã vạch
Hướng phát triển của đề tài, đó là có thể nhận dạng được các loại cấu trúc mã vạch
khác nhau.
Tài liệu tham khảo
[1] Đỗ Năng Toàn, Giáo trình xử lý ảnh , ĐH Thái Nguyên.


[2] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, NXB Khoa học kỹ
thuật, 2003.
[3] Nguyễn Quang Hoan, Xử lý ảnh , ĐH Bưu chính viễn thông, 2008.
[4] Phạm Hữu Khang, Giáo trình C#, Nhà sách Minh Khang.




×