Tải bản đầy đủ (.docx) (22 trang)

ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE

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 (335.15 KB, 22 trang )

ỨNG DỤNG KỸ THUẬT XỬ LÝ ẢNH
TRONG NHẬN DIỆN BARCODE


MỤC LỤ

DANH MỤC CÁC HÌNH VẼ..............................................................................................V
DANH MỤC CÁC BẢNG BIỂU.......................................................................................VI
DANH MỤC CÁC TỪ VIẾT TẮT..................................................................................VII
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI...................................................................................1
1.1

YÊU CẦU ĐỀ TÀI.........................................................................................................1

1.2

PHẠM VI ĐỀ TÀI..........................................................................................................1

1.3

ỨNG DỤNG..................................................................................................................1

CHƯƠNG 2. LÝ THUYẾT VỀ BARCODE.....................................................................2
2.1

KHÁI NIỆM VỀ BARCODE (MÃ VẠCH).........................................................................2

2.2

Ý NGHĨA CỦA BARCODE (MÃ VẠCH)..........................................................................2


2.3

PHÂN LOẠI..................................................................................................................2

2.3.1

Mã vạch 1D.........................................................................................................3

2.3.2

Mã vạch 2D.........................................................................................................8

CHƯƠNG 3. LÝ THUYẾT VỀ XỬ LÝ ẢNH TRONG NHẬN DIỆN BARCODE...9
3.1

ĐƯA ẢNH CẦN XỬ LÝ.................................................................................................9

3.2

CHUYỂN SANG ẢNH NHỊ PHÂN..................................................................................10

3.3

MÃ HÓA THÀNH DÃY SỐ TRÊN BARCODE.................................................................11

3.4

XUẤT THÔNG TIN BARCODE.....................................................................................12

CHƯƠNG 4. MÔ PHỎNG.................................................................................................13

4.1

YÊU CẦU MÔ PHỎNG................................................................................................13

4.2

LƯU ĐỒ GIẢI THUẬT.................................................................................................13

4.3

KẾT QUẢ MÔ PHỎNG.................................................................................................14

CHƯƠNG 5. KẾT LUẬN..................................................................................................15
5.1

ĐÃ THỰC HIỆN..........................................................................................................15

5.2

HƯỚNG PHÁT TRIỂN.................................................................................................15

2


5.3

HẠN CHẾ...................................................................................................................15

TÀI LIỆU THAM KHẢO..................................................................................................16
PHỤ LỤC…..........................................................................................................................17


DANH MỤC CÁC HÌNH VẼ

3


HÌNH 2-1: MÃ VẠCH 1D TRÊN CÁC BAO BÌ SẢN PHẨM [1]..................................3
HÌNH 2-2: MÃ VẠCH UPC [2]...........................................................................................4
HÌNH 2-3: MÃ EAN-13 [3]..................................................................................................6
HÌNH 2-4: HÌNH DẠNG CỦA MỘT MÃ QR [4].............................................................7
HÌNH 3-1: TÊN FILE ẢNH HIỂN THỊ TRONG MATLAB..........................................8
HÌNH 3-2: GIÁ TRỊ CÁC ĐIỂM ẢNH KHI CHƯA CHUYỂN SANG ẢNH NHỊ
PHÂN..................................................................................................................................9
HÌNH 3-3: GIÁ TRỊ CÁC ĐIỂM ẢNH KHI CHUYỂN SANG ẢNH NHỊ PHÂN...10

4


DANH MỤC CÁC BẢNG BIỂU
BẢNG 2-1: BẢNG QUY TẮC CHẴN LẺ..........................................................................5
BẢNG 2-2: BẢNG MÃ HÓA CHẴN LẼ CỦA CÁC CON SỐ.......................................6

DANH MỤC CÁC TỪ VIẾT TẮT

5


1D 1-Dimension
2D 2-Dimension
UPC Universal Product Code

EAN The European Article Numbering system
QR Quick Response

6


Trang 1/16

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
Xử lý ảnh là một kỹ thuật được ứng dụng rộng rãi trong việc phân tích, nhận diện
các loại hình ảnh khác nhau, nhận diện barcode (mã vạch) là một trong những ứng
dụng của kỹ thuật này. Đề tài cung cấp những kiến thức tổng quan về barcode (mã
vạch), cũng như hiểu được phương pháp xử lý những ảnh barcode trên các sản
phẩm.
1.1 Yêu cầu đề tài
Tìm hiểu các kỹ thuật xử lý ảnh trong nhận diện barcode.
Xây dựng hệ thống nhận diện trên MATLAB.
Phải nhận diện được các barcode dùng trong ứng dụng tính tiền siêu thị.
1.2 Phạm vi đề tài
Do barcode có nhiều loại, mỗi một loại lại có nhiều tiêu chuẩn khác nhau nên đề tài
này không thể nhận diện được hết các loại mã vạch.
Phạm vi đề tài chỉ giới hạn cho việc nhận diện barcode EAN-13 là loại barcode phổ
biến nhất cũng như theo yêu cầu đề tài là barcode dùng trong ứng dụng tính tiền
siêu thị.
1.3 Ứng dụng
Đề tài có tính thực tế cao, được ứng dụng rộng rãi trong đời sống, một số ứng dụng
có thể kể đến như:
 Tính tiền trong cửa hàng, siêu thị.
 Ứng dụng trong việc quản lý các đồ dùng, thiết bị trong công ty, văn phòng,
trường học,…

 Ứng dụng trong việc lưu trữ thông tin cá nhân như thẻ nhân viên, thẻ sinh
viên,…

CHƯƠNG 2. LÝ THUYẾT VỀ BARCODE
1.4 Khái niệm về barcode (mã vạch)
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 2/16

Barcode (mã vạch) là một hình ảnh chứa nhiều dãy vạch với độ lớn nhỏ khác nhau
và xen kẽ là những khoảng trống song song, chúng được sắp xếp theo nguyên tắc
mã hóa nhất định để các máy quét, máy đọc mã vạch có thể biết được thông tin lưu
trữ trong nó. Barcode (mã vạch) thường được tìm thấy trên các sản phẩm, hàng hóa
hay trên các đồ dùng, thiết bị,…
1.5 Ý nghĩa của barcode (mã vạch)
Để lưu thông trên thị trường nhất là trong các siêu thị hay trung tâm thương mại thì
các loại hàng hóa cần phải có mã vạch, nó được xem như là “chứng minh thư” của
hàng hóa vì nó lưu trữ tất cả các thông tin liên quan đến sản phẩm như: quốc gia sản
xuất hàng hóa, mã doanh nghiệp và các thông tin về hàng hóa.
Mỗi barcode (mã vạch) thường có hai phần: phần mã vạch để cho máy quét và phần
dãy số để con người nhận diện.
1.6 Phân loại
Barcode (mã vạch) được chia làm nhiều chuẩn khác nhau tùy theo dung lượng
thông tin, cách mã hóa thông tin cũng như mục đích sử dụng, nhưng nhìn chung thì
có thể chia làm hai loại:
 Mã vạch 1D
 Mã vạch 2D


1.1.1 Mã vạch 1D
Là loại mã vạch chứa những vạch song song với độ dày khác nhau xen kẽ với
những khoảng trống được sắp xếp với nguyên tắc mã hóa nhất định, thường thấy
trên các bao bì, vỏ hộp sản phẩm.
Mã vạch 1D có nhiều tiêu chuẩn khác nhau, thông dụng trên thị trường ta thường
thấy các dạng như: UPC, EAN, Code 39, Interleaved 2of 5, Codabar, Code 128.
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 3/16

Ngoài ra trong các chuẩn mã người ta còn có các phiên bản khác nhau để phục vụ
cho mục đích sử dụng khác nhau. Ví dụ chuẩn UPC còn có các phiên bản khác là
UPC-A, UPC-E, chuẩn EAN có các phiên bản EAN-8, EAN-13, Code 128 gồm
Code 128 Auto, Code 128-A, Code 128-B, Code 128-C. Các loại mã tốt nhất được
công nhận như UPC và EAN.

Hình 2-1: Mã vạch 1D trên các bao bì sản phẩm [1]

-

Một số loại mã 1D thông dụng

 Mã UPC
Được ngành công nghiệp thực phẩm ứng dụng vào năm 1973, được sử dụng phổ
biến ở Bắc Mỹ (Hoa Kỳ và Canada). Mã UPC bao gồm 12 chữ số, mã UPC-E là
một biến thể nhỏ hơn mã hóa 6 chữ số.
Một mã vạch UPC bao gồm các phần:
-


Số hệ thống từ 0 đến 9

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 4/16

-

Mã nhà sản xuất gồm 5 chữ số

-

Mã sản phẩm gồm 5 chữ số

-

Số kiểm tra

Hình 2-2: Mã vạch UPC [2]

 Mã EAN
Mã EAN là bước phát triển của UPC, đây là loại mã được ghi nhãn hàng hóa tiêu
dùng trên toàn thế giới cho các siêu thị và cửa hàng. Mã EAN bao gồm 13 chữ số,
trong đó 2 hoặc 3 số đầu tiên là mã quốc gia của sản phẩm được cấp bởi Tổ chức
EAN quốc tế (EAN International Organization) EAN này được gọi là EAN-13 để
phân biệt với phiên bản EAN-8 sau này gồm 8 ký số.
Ở Việt Nam, hầu hết hàng hóa trên thị trường đều áp dụng chuẩn EAN-13.


Cấu trúc của mã EAN-13 bao gồm:
-

Các vạch bảo vệ trái có giá trị 010.

-

6 số kể từ số thứ 2 đến số thứ 7.

-

Các vạch bảo vệ trung tâm giá trị 01010.

-

5 số kể từ số thứ 8 đến số thứ 12.

-

Số kiểm tra (số thứ 13)

-

Vạch bảo vệ phải có giá trị 010.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode



Trang 5/16

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
Bảng 2-1: Bảng quy tắc chẵn lẻ

Số đầu tiên
0
1
2
3
4
5
6
7
8
9

2
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ
Lẻ


3
Lẻ
Lẻ
Lẻ
Lẻ
Chẵn
Chẵn
Chẵn
Chẵn
Chẵn
Chẵn

4
Lẻ
Chẵn
Chẵn
Chẵn
Lẻ
Chẵn
Chẵn
Lẻ
Lẻ
Chẵn

5
Lẻ
Lẻ
Chẵn
Chẵn
Lẻ

Lẻ
Chẵn
Chẵn
Chẵn
Lẻ

6
Lẻ
Chẵn
Lẻ
Chẵn
Chẵn
Lẻ
Lẻ
Lẻ
Chẵn
Chẵn

Bảng 2-2: Bảng mã hóa chẵn lẽ của các con số

Giá trị số
0
1
2
3
4
5
6
7
8

9

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode

Lẻ
0001101
0011001
0010011
0111101
0100011
0110001
0101111
0111011
0110111
0001011

Chẵn
0100111
0110011
0011011
0100001
0011101
0111001
0000101
0010001
0001001
0010111

7

Lẻ
Chẵn
Chẵn
Lẻ
Chẵn
Chẵn
Lẻ
Chẵn
Lẻ
Lẻ


Trang 6/16

Các số từ vị trí 8 đến vị trí thứ 13 được mã hóa theo chuỗi đảo ngược của mã hóa lẻ
của số có giá trị tương ứng. Ví dụ số 0 có mã hóa lẻ là "0001101" thì khi được mã
hóa ở các vị trí từ 8 đến 13 sẽ là "1110010".
Một mã EAN-13 bao gồm:
-

Ba chữ số đầu là mã số về quốc gia (vùng lãnh thổ)

-

Bốn chữ số tiếp theo là mã số về doanh nghiệp.

-

Năm chữ số tiếp theo là mã số về hàng hóa.


-

Số cuối cùng là số kiểm tra.

Hình 2-3: Mã EAN-13 [3]

Theo như hình 2-3, thì dãy số có thể chia như sau:
-

893: mã quốc gia là Việt Nam.

-

460200107: 9 số này có thể được chia làm hai phần:
o Mã nhà sản xuất có thể có 4, 5 hoặc 6 số tùy theo được cấp.
o Phần còn lại là mã sản phẩm.

-

8: số kiểm tra tính chính xác của mã.

Cách kiểm tra tính hợp lệ của mã EAN-13 dựa vào dãy số được in trên mã:
-

Lấy tổng các chữ số hàng chẵn nhân 3 cộng với tổng các chữ số hàng lẻ, trừ
số cuối cùng.

-

Sau đó lấy kết quả trên cộng với số cưới cùng (số thứ 13).


-

Nếu kết quả có phần đuôi bằng 0 thì đó là mã vạch hợp lệ.

-

Nếu khác 0 thì là mã không hợp lệ, có thể nghi ngờ là hàng giả không có
xuất xứ rõ ràng.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 7/16

Ví dụ với hình 2-3:
-

Tổng các số hàng chẵn nhân 3: A = (9 + 4 + 0 + 0 + 1 + 7) x 3 = 63

-

Tổng các số hàng lẽ (trừ số 13): B = 8 + 3 + 6 + 2 + 0 + 0 + 19

-

Kết quả tính được = A + B + số thứ 13 = 63 +19 + 8 = 90

-


Số 90 có đuôi là số 0 nên đây là mã hợp lệ.

1.1.2 Mã vạch 2D
Là loại mã vạch hai chiều, trong khi mã 1D chỉ mã hóa được rất ít thông tin thì mã
vạch 2D có thể mã hóa được lượng thông tin lớn hơn so với mã 1D từ ký tự đặc
biệt, liên kết đến website nào đó thông qua các thiết bị như điện thoại di động.
The Quick Response (QR Code) là mã vạch 2D đầu tiên và cũng là loại mã điển
hình nhất của mã vạch 2D, được Nhật Bản sáng chế vào năm 1994.
Ngoài việc mã hóa được một lượng thông tin lơn thì các loại mã vạch 2D còn có
thể được in với kích thước nhỏ, trong khi mã vạch 1D bị giới hạn kích thước và dữ
liệu được mã hóa theo chiều ngang, mã vạch 1D cũng có thể gây khó khăn cho máy
quét nếu được in trên các sản phẩm có dạng cong.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 8/16

Hình 2-4: Hình dạng của một mã QR [4]

CHƯƠNG 3.

LÝ THUYẾT VỀ XỬ LÝ ẢNH TRONG
NHẬN DIỆN BARCODE

Trong thực tế, để đọc được thông tin mã hóa trên một mã vạch thì cần có các loại
máy quét mã vạch chuyên dụng, nhưng trong kỹ thuật xử lý ảnh thì cần trải qua quá
trình xử lý và mã hóa theo các quy tắc của mã vạch. Quá trình xử lý ảnh theo sow

đồ khối:
Đưa ảnh cần

Chuyển sang ảnh nhị

xử lý

phân

Xuất thông tin

Mã hóa

Ứng dụng kỹ thuật xử lý ảnh

barcode

trong nhận diện barcode

thành dãy số


Trang 9/16

1.7 Đưa ảnh cần xử lý
Đây là bước đầu tiên của quá trình xử lý ảnh, đưa ảnh đầu vào bằng cách nhập tên
file ảnh của barcode muốn nhận diện. Khi muốn nhận diện một barcode khác thì chỉ
cần đổi tên file ảnh khác.

Hình 3-1: Tên file ảnh hiển thị trong Matlab


Trên hình 3-1, thì ảnh cần xử lý có tên file là 4.png

1.8 Chuyển sang ảnh nhị phân
Do ảnh đầu vào thực chất là một ảnh trắng đen có giá trị của điểm ảnh là 0 và 255.
Nhưng để mã hóa thành dãy số trên barcode thì cần chuyển sang ảnh nhị phân có
giá trị điểm ảnh là 0 và 1 để phù hợp với quy tắc mã hóa chữ số của barcode, trong
đó giá trị 0 tương ứng với vùng ảnh màu trắng và giá trị 1 tương ứng với vùng ảnh
màu đen.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 10/16

Hình 3-2: Giá trị các điểm ảnh khi chưa chuyển sang ảnh nhị phân

Theo hình 3-2, các điểm ảnh đọc được có giá trị là 255 và 0 khi ảnh đầu vào chưa
được biến đổi sang ảnh nhị phân, trong đó các giá trị 255 tương ứng với vùng ảnh
màu trắng và các giá trị 0 tương ứng với vùng ảnh màu đen.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 11/16

Hình 3-3: Giá trị các điểm ảnh khi chuyển sang ảnh nhị phân


Sau khi thực hiện việc biến đổi sang ảnh nhị phân ta thu được một chuỗi bao gồm
các giá trị 0 và 1.
1.9 Mã hóa thành dãy số trên barcode
Một con số của mã EAN-13 có 7 bit, dựa vào nguyên tắc này và bảng mã hóa chẵn
lẻ đã trình bày ở chương 2, ta sẽ có các số tương ứng.
Dựa vào cấu trúc mã EAN-13, 7 bit của số thứ 2 bắt đầu sau mã bảo vệ trái có giá
trị 101, 7 bit tiếp theo sẽ được mã hóa thành số thứ 2, cứ tiếp tục cho đến số thứ 7.
7 bit của số thứ 8 bắt đầu sau vạch bảo vệ trung tâm có giá trị bit 01010, cứ tiếp tục
cho đến số thứ 13.

101 0001011 0100001……. 01010

Số thứ 1

Số thứ 2

Vạch bảo vệ trái

Số thứ 8
Vạch bảo vệ trung tâm

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode

1100100

………..1110110 101

Số thứ 13
Vạch bảo vệ phải



Trang 12/16

1.10 Xuất thông tin barcode
Sau khi đã mã hóa và thu được một dãy có 13 số, thì ta sẽ tạo thông tin cho barcode
như: xuất xứ, tên của doanh nghiệp, tên sản phẩm, giá bán của sản phẩm đó.
Ví dụ:
Dãy số 8 9 0 2 0 8 0 0 1 1 4 4 5
Tên sản phẩm là bánh quy
Giá bán 20000 VNĐ
Sau khi thực hiện các quá trình trên và xuất ra được thông tin của barcode thì coi
như quá trình xử lý ảnh để nhận diện barcode là hoàn tất.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 13/16

CHƯƠNG 4.

MÔ PHỎNG

1.11 Yêu cầu mô phỏng
Nhận diện và xử lý các barcode (mã vạch) dùng trong ứng dụng tính tiền trong siêu
thị.
Hiển thị được thông tin của bar code (mã vạch) được xử lý như: tên hàng hóa của
sản phẩm, giá bán.
1.12


Lưu đồ giải thuật
Bắt đầu
Nhập file ảnh muốn xử lý

Nhấn Run để chạy chương trình
Trùng với thư viện
So sánh dãy số đọc được

S

Đ

Hiển thị thông tin của barcode

Kết thúc

Đầu tiên là nhập tên file của ảnh cần nhận diện, sau đó chạy chương trình. Sau khi
xuất ra được dãy có 13 số tương ứng với dãy số được in trên barcode thì chương
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode

Kết thúc

Hiển thị thông tin của barrcode


Trang 14/16

trình sẽ lấy kết quả để đem so sánh với thư viện các barcode đã có thông tin, nếu

như dãy số thu được trùng với một trong những dãy trong thư viện thì sẽ hiển thị
thông tin của barcode. Ngược lại, nếu như dãy số thu được không trùng với các dãy
có trong thư viện thì có nghĩa mã đó chưa được tạo thông tin và ta sẽ chọn một mã
khác.
1.13

Kết quả mô phỏng

Hình 4-1: Kết quả mô phỏng

Sau khi chạy chương trình ta thu được kết quả như hình 4-1:
Barcode có dãy số 8 9 0 2 0 8 0 0 1 1 4 4 5
Tên sản phẩm: nước suối
Giá bán: 3400

CHƯƠNG 5.

KẾT LUẬN

1.14 Đã thực hiện
Đề tài đã cung cấp được những kiến thức cơ bản về barcode (mã vạch) như: cấu
trúc mã vạch, nguyên tắc để tạo nên mã vạch cũng như là ý nghĩa của mã vạch.

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 15/16

Ứng dụng được những kỹ thuật xử lý ảnh cơ bản trong việc nhận diện mã vạch như:

chuyển đổi ảnh nhị phân, mã hóa thành dãy số trên mã vạch dựa vào các giá trị
điểm ảnh 0 hoặc 1, hiển thị thông tin của mã vạch đã xử lý.
1.15 Hướng phát triển
Kết hợp với các thiết bị như đầu quét, điện thoại hay webcam của máy tính để đưa
dữ liệu ảnh và xử trực tiếp.
Phát triển đề tài để có thể đọc được các loại mã vạch 2D và các chuẩn còn lại của
mã 1D.
1.16 Hạn chế
Phạm vị đề tài thực hiện hạn chế là chỉ xử lý mã vạch thông dụng hiện nay là
EAN-13 nên muốn đọc các loại mã khác cần phải xây dựng thêm chương trình.
Chưa xử lý được những ảnh phức tạp như các ảnh có độ phân giải thấp.

TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] />[2] />[3] />Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode


Trang 16/16

[4] />[5] />Tiếng Anh:
[1] />[2] />Đề tài này sử dụng hình ảnh từ các trang Web:
[1] />[2] />[3] />m.jpg
[4] />ng

Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode




×