1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH NHẬN DẠNG MÃ VẠCH ỨNG DỤNG CÔNG NGHỆ XỬ LÝ ẢNH

66 280 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 1,82 MB

Nội dung

1.3 Mục đích đề tài Mục đích của đề tài nhằm xây dựng một chương trình dùng để đọc mã vạch từ camera, từ đó có thể phát triển để ứng dụng vào các yêu cầu đọc mã vạch thực tế như thư viện

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHOÁ LUẬN TỐT NGHIỆP

THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH NHẬN DẠNG MÃ VẠCH

ỨNG DỤNG CÔNG NGHỆ XỬ LÝ ẢNH

Họ và tên sinh viên: Hà Tấn Đắc

Trần Thành Tuân Ngành: CƠ ĐIỆN TỬ

Trang 2

THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH NHẬN DẠNG MÃ VẠCH ỨNG

DỤNG CÔNG NGHỆ XỬ LÝ ẢNH

Tác giả

HÀ TẤN ĐẮC TRẦN THÀNH TUÂN

Khóa luận được đệ trình để đáp ứng yêu cầu

cấp bằng Kỹ sư ngành

CƠ ĐIỆN TỬ

Giáo viên hướng dẫn:

ThS Nguyễn Lê Tường

KS Huỳnh Cao Vân

Tháng 6 năm 2011

Trang 3

LỜI CẢM ƠN

Sau gần 4 năm học tập và rèn luyện, những kiến thức mà Thầy/ Cô bộ môn Cơ

điện tử, khoa Cơ khí – Công nghệ, trường Đại học Nông Lâm TP.HCM truyền đạt đã

thực sự cung cấp những hành trang hữu ích và quý báu để giúp chúng em vững bước

và tự tin trên con đường sự nghiệp trước mắt

Em xin chân thành cảm ơn sự tậm tâm, lòng nhiệt tình không ngại khó khăn vất

vả mà các Thầy cô đã dành cho sinh viên chúng em trong suốt quãng thời gian vừa

qua Đặc biệt chúng em cũng hết sức biết ơn ThS Nguyễn Lê Tường đã hỗ trợ và tận

tình giúp đỡ chúng em trong suốt quá trình chúng em thực hiện đề tài Chúng em cũng

muốn gửi lời cảm ơn chân thành đến Quý Thầy/ Cô trong Hội đồng đã giành thời gian

quý báu của mình để nhận xét và đóng góp ý kiến để khóa luận của chúng em thêm

hoàn thiện

Cuối cùng, chúng em muốn gửi lời chúc sức khỏe, hạnh phúc và thành công

đến các thầy cô

TP Hồ Chí Minh, ngày 30 tháng 05 năm 2011

Trần Thành Tuân

Trang 4

TÓM TẮT

Đề tài nghiên cứu “Thiết kế và chế tạo mô hình nhận dạng mã vạch ứng

dụng công nghệ xử lý ảnh” được tiến hành tại ĐẠI HỌC NÔNG LÂM TP.HCM,

thời gian từ 08/03/2011 đến 30/05/2011

Mục đích của đề tài này là tạo ra một công cụ viết bằng ngôn ngữ C# kết hợp với

bộ thư viện mã nguồn mở EmguCV để nhận dạng mã vạch và xuất cơ sở dữ liệu bằng công nghệ xử lý ảnh Các mã vạch được thiết kế sẵn và được dán lên thẻ Webcam được lắp trong hộp đen có chiếu sáng sẽ chụp hình mã vạch khi thẻ được đưa vào Ảnh chụp sẽ được lưu vào bộ nhớ RAM và chuyển thành ảnh xám Ảnh nhị phân chuyển từ ảnh xám sẽ được xử lý để tính diện tích từng vạch và hiển thị giá trị tương ứng của mỗi vạch đó Giá trị của mã vạch được so sánh với cơ sở dữ liệu có sẵn Nếu giá trị

mã vạch trên thẻ và giá trị mã vạch trong cơ sở dữ liệu khớp nhau thì chương trình sẽ hiển thị thông tin tương ứng với mã vạch đó

Trang 5

MỤC LỤC

Trang tựa i

Lời cảm ơn ii

Tóm tắt đề tài iii

Mục lục iv

Danh sách chữ viết tắt vii

Danh mục hình vẽ viii

CHƯƠNG 1: MỞ ĐẦU 1.1 Lý do chọn đề tài 1

1.2 Nhiệm vụ đề tài 1

1.3 Mục đích đề tài 2

1.4 Phương pháp nghiên cứu 2

CHƯƠNG 2: TỔNG QUAN VÀ CÁC VẤN ĐỀ LIÊN QUAN 2.1 Xử lý ảnh và các vấn đề cơ bản trong xử lý ảnh 3

2.1.1 Xử lý ảnh là gì? 3

2.1.2 Các khái niệm cơ bản trong xử lý ảnh 4

2.1.3 Thu nhận ảnh 8

2.1.4 Ứng dụng của xử lý ảnh 8

2.2 Tổng quan về mã vạch 9

2.2.1 Lịch sử 9

2.2.2 Các dạng mã vạch 11

2.2.3 Các loại mã vạch thông dụng 14

2.2.4 Ứng dụng của mã vạch 16

2.3 Tổng quan về máy đọc mã vạch 17

2.3.1 Barcode Scanner 17

2.3.2 Cấu tạo cơ bản của máy quét barcode quang học 17

2.3.3 Nguyên lý hoạt động của máy quét barcode quang học 18

2.3.4 Phân loại máy quét barcode quang học 19

2.4 Tìm hiểu ngôn ngữ C# 25

2.5 EmguCV 26

2.6 Các phương pháp chiếu sáng 28

Trang 6

2.6.3 Chiếu sáng phân cực 29

2.6.4 Chiếu sáng đồng trục 29

2.6.5 Chiếu sáng theo cấu trúc 30

2.6.6 Chiếu sáng phía sau 30

2.7 Các phần mềm ứng dụng xử lý ảnh nhận dạng mã vạch 31

2.7.1 Phần mềm trong nước 31

2.7.2 Phần mềm nước ngoài 32

CHƯƠNG 3: VẬT LIỆU VÀ PHƯƠNG PHÁP NGHIÊN CỨU 3.1 Vật liệu và phương tiện 35

3.2 Phương pháp 35

3.2.1 Nghiên cứu lý thuyết 35

3.2.2 Phương pháp thực hiện 36

CHƯƠNG 4: KẾT QUẢ VÀ THẢO LUẬN 4.1 Hộp lấy ảnh và thẻ 37

4.1.1 Hộp lấy ảnh 37

4.1.2 Thẻ và mã vạch 40

4.2 Chương trình 42

4.2.1 Giao diện của chương trình 42

4.2.2 Cơ sở dữ liệu 42

4.2.3 Lưu đồ giải thuật của chương trình 43

4.3 Kết quả khảo nghiệm 47

CHƯƠNG 5: KẾT LUẬN VÀ ĐỀ NGHỊ 5.1 Kết quả đạt được 53

5.2 Hướng phát triển của đề tài 53

TÀI LIỆU THAM KHẢO 54

PHỤ LỤC 55

Trang 7

DANH SÁCH CHỮ VIẾT TẮT

 ASCII – American Standard Code for Information Interchange

 CCD – Charge Coupled Device

 CMOS – Complementary Metal-Oxide-Semiconductor

 EAN – European Article Numbering

 GIS – Geographic Information System

 IDE – Integrated Development Environment

 Laser – Light Amplification by Stimulated Emission of Radiation

 LED – Light Emitting Diode

 RFID – Radio-frequency identification

 UPC – Universal Product Code

 USB – Universal Serial Bus

 Webcam – Web Camera

 XML – eXtensible Markup Language

 ID – Identìfy

Trang 8

DANH SÁCH CÁC HÌNH

Chương 2

Hình 2.1 – Quá trình xử lý ảnh 3

Hình 2.2 – Các bước cơ bản trong một hệ thống xử lý ảnh 3

Hình 2.3 – Mã số EAN-13 14

Hình 2.4 – Ví dụ về code 39 15

Hình 2.5 – Cấu tạo code 128 15

Hình 2.6 – Mã vạch theo code EAN-13 16

Hình 2.7 – Tròng CCD 17

Hình 2.8 – Máy đọc mã vạch dạng cầm tay 22

Hình 2.9 – Máy đọc mã vạch dạng để bàn 22

Hình 2.10 – Máy quét mã vạch dạng không dây 23

Hình 2.11 – Máy kéo thẻ barcode 24

Hình 2.12 – Cấu trúc tổng quát của EmgCV 27

Hình 2.13 – Phương pháp chiếu sáng trực tiếp vào đối tượng 28

Hình 2.14 – Phương pháp chiếu sáng khuếch tán trước đối tượng 28

Hình 2.15 – Phương pháp chiếu sáng đồng trục 29

Hình 2.16 – Phương pháp chiếu sáng theo cấu trúc 30

Hình 2.17 – Phương pháp chiếu sáng phía sau 30

Hình 2.18 – Phần mềm nhận dạng mã vạch Barcode 12.0 của KlinkSoft 31

Hình 2.19 – Giao diện phần mềm DTK Barcode Reader SDK 32

Hình 2.20 – Giao diện phần mềm EvoBarcode 34

Chương 3

Trang 9

Chương 4

Hình 4.1 – Hộp lấy ảnh thiết kế trên Pro/E 38

Hình 4.2 – Mô hình thực tế của hộp lấy ảnh 38

Hình 4.3 – Kết nối hộp lấy ảnh với máy tính 39

Hình 4.4 – Tạo font barcode với phần mềm High-Logic FontCreator 6.0 40

Hình 4.5 – Tạo mã vạch với font barcode 40

Hình 4.6 – Mã vạch 41

Hình 4.7 – Thẻ có dán mã vạch 41

Hình 4.8 – Giao diện chương trình nhận dạng mã vạch 42

Hình 4.9 – Cơ sở dữ liệu được tạo bằng Access 42

Hình 4.10 – Sơ đồ tổng quát của chương trình 43

Hình 4.11 – Giải thuật chuyển sang ảnh nhị phân 44

Hình 4.12 – Giải thuật tính diện tích một vạch 45

Hình 4.13 – Giải thuật nhận dạng vạch 46

Hình 4.14 – Kết quả khảo nghiệm với mã vạch có diện tích lớn nhất 47

Hình 4.15 – Kết quả khảo nghiệm với mã vạch có diện tích nhỏ nhất 48

Hình 4.16 – Kết quả khảo nghiệm với mã vạch ngẫu nhiên (02007) 49

Hình 4.17 – Kết quả khảo nghiệm với mã vạch ngẫu nhiên (92154) 50

Hình 4.18 – Kết quả khảo nghiệm với mã không hợp lệ 51

Hình 4.19 – Kết quả khảo nghiệm với trường hợp không có thẻ 52

Hình 4.20 – Kết quả khảo nghiệm với trường hợp bị kẹt thẻ 50

Trang 10

Như ta cũng biết công nghệ xử lý ảnh đã rất phổ biến trong công nghiệp, được ứng dụng vào trong thực tế sản xuất Và với những camera thông dụng đủ tốt nhưng không quá đắt tiền nếu chúng ta viết một chương trình nhận dạng bằng camera thì sẽ tiết kiệm được giá thành hơn khi mua máy đọc mã vạch Hơn nữa với camera thì chúng ta còn có thể sử dụng trong các mục đích khác ngoài việc đọc mã vạch Đó là

ưu điểm rất lớn của xử lý ảnh trong công nghiệp

Vì vậy, chúng em muốn đi vào nghiên cứu và viết một chương trình nhận dạng

mã vạch ứng dụng công nghệ xử lý ảnh, và đã chọn đề tài: “Thiết kế và chế tạo mô

hình nhận dạng mã vạch ứng dụng công nghệ xử lý ảnh”

1.2 Nhiệm vụ đề tài

 Thiết kế mã vạch

 Viết chương trình nhận dạng mã vạch bằng ngôn ngữ C#

 Thiết kế và thi công mô hình nhận dạng mã vạch

 Tạo cơ sở dữ liệu

Trang 11

1.3 Mục đích đề tài

Mục đích của đề tài nhằm xây dựng một chương trình dùng để đọc mã vạch từ camera, từ đó có thể phát triển để ứng dụng vào các yêu cầu đọc mã vạch thực tế như

thư viện, nhà sách, siêu thị…

1.4 Phương pháp nghiên cứu

Dựa trên yêu cầu của đề tài chúng em đã thu thập tài liệu về mã vạch và cách giải mã mã vạch, tìm hiểu về các máy đọc mã vạch thực tế để ứng dụng vào việc thiết

Trang 12

Hình 2.1 - Quá trình xử lý ảnh

Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử

lý ảnh có thể xem như ảnh n chiều

Sơ đồ tổng quát của một hệ thống xử lý ảnh:

Hình 2.2 - Các bước cơ bản trong một hệ thống xử lý ảnh

XỬ LÝ ẢNH Ảnh

Ảnh

“Tốt Kết luận

Hệ quyết định

Đối sánh rút

ra kết luận Hậu

xử lý

Trang 13

2.1.2 Các khái niệm cơ bản trong xử lý ảnh

- Ảnh màu: thông thường, ảnh màu được tạo nên từ 3 ảnh xám đối với màu nền

đỏ (RED), xanh lá cây (GREEN), xanh lam (BLUE) Tất cả các màu trong tự nhiên đều có thể được tổng hợp từ 3 thành phần màu trên theo các tỷ lệ khác nhau Ví dụ về biểu diễn ảnh màu:

Ma trận biểu diễn mức xám của thành phần RED:

0 7 11 0

115 94 20 0

0 0 15 16

Trang 14

Ma trận biểu diễn mức xám của thành phần GREEN:

Ảnh trong tự nhiên là những tín hiệu liên tục về không gian và giá trị độ sáng

Để có thể lưu trữ và biểu diễn ảnh bằng máy tính, con người phải tiến hành biến đổi các tín hiệu liên tục đó thành một số hữu hạn các tín hiệu rời rạc thông quá quá trình lượng tử hóa và lấy mẫu thành phần giá trị độ sáng

Một phần tử ảnh (Picture Element) là một giá trị biểu diễn cho mức xám hay cường độ ảnh tại một vị trí sau khi đã biến đổi ảnh thành một số hữu hạn các tín hiệu rời rạc

Trang 15

 Khử nhiễu:

Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh:

- Nhiều hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi

- Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân → khắc phục bằng các phép lọc

- Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và

do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử

la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v

Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống

Trang 16

 Nhận dạng:

Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:

- Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định

- Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh

Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:

- Thu nhận dữ liệu và tiền xử lý

- Biểu diễn dữ liệu

- Nhận dạng, ra quyết định

Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:

- Đối sánh mẫu dựa trên các đặc trưng được trích chọn

- Phân loại thống kê

- Đối sánh cấu trúc

- Phân loại dựa trên mạng nơ-ron nhân tạo

Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ

để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếpcận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi

Trang 17

nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp

Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu

2.1.3 Thu nhận ảnh

Thiết bị thu nhận ảnh là camera, scanner, webcam,… Các thiết bị thu nhận ảnh này có thể cho ảnh trắng đen B/W (Black and White), ảnh xám hoặc ảnh màu Với ảnh B/W mức màu z là 0 hoặc 1 Với ảnh đa cấp xám, mức xám biến thiên từ 0 đến 255 Ảnh màu, mỗi điểm ảnh lưu trữ trong 3 bytes và do đó ta có 2 8x3 = 2 24 màu (cỡ 16,

7 triệu màu)

Thiết bị ra ảnh có thể là máy in đen trắng, máy in màu hay máy vẽ (ploter) Máy vẽ cũng có nhiều loại: loại dùng bút, loại phun mực

Nhìn chung, các hệ thống thu nhận ảnh thực hiện 2 quá trình:

- Cảm biến: biến đổi năng lượng quang học (ánh sáng) thành năng lượng điện

- Tổng hợp năng lượng điện thành ảnh

2.1.4 Ứng dụng của xử lý ảnh

Nhận dạng và xử lý ảnh là một trong những lĩnh vực có nhiều ứng dụng trong thực tiễn như: hệ thống tin địa lý (GIS), quân sự, y học… Nhìn chung, mục tiêu của xử

lý ảnh có thể chia làm 3 hướng như sau:

- Xử lý ảnh ban đầu để có được ảnh mới theo một yêu cầu xác định (ví dụ như ảnh mờ cần xử lý để được ảnh rõ hơn)

- Phân tích ảnh để thu được các thông tin đặc trưng giúp cho việc phân loại, nhận biết ảnh (ví dụ phân tích ảnh vân tay để trích chọn các đặc trưng vân tay)

- Hiểu ảnh đầu vào để có những mô tả về ảnh ở mức cao hơn, sâu hơn (ví dụ từ ảnh một tai nạn giao thông phác họa hiện trường tai nạn)

Trang 18

2.2 Tổng quan về mã vạch

Mã vạch là sự thể hiện thông tin trong các dạng nhìn thấy trên các bề mặt mà máy móc có thể đọc được Nguyên thủy thì mã vạch lưu trữ dữ liệu theo bề rộng của các vạch được in song song cũng như của khoảng trống giữa chúng, nhưng ngày nay chúng còn được in theo các mẫu của các điểm, theo các vòng tròn đồng tâm hay chúng

ẩn trong các hình ảnh Mã vạch có thể được đọc bởi các thiết bị quét quang học gọi là máy đọc mã vạch hay được quét từ hình ảnh bằng các phần mềm chuyên biệt

Nội dung của mã vạch là thông tin về sản phẩm như: nước sản xuất, tên doanh nghiệp, lô, tiêu chuẩn chất lượng đăng ký, thông tin về kích thước sản phẩm, nơi kiểm tra

2.2.1 Lịch sử

Ý tưởng về mã vạch được phát triển bởi Norman Joseph Woodland và Bernard Silver Năm 1948 khi đang là sinh viên ở trường Đại học tổng hợp Drexel, họ đã phát triển ý tưởng này sau khi được biết mong ước của một vị chủ tịch của một công ty buôn bán đồ ăn là làm sao để có thể tự động kiểm tra toàn bộ quy trình Một trong những ý tưởng đầu tiên của họ là sử dụng mã Morse để in những vạch rộng hay hẹp thẳng đứng Sau đó, họ chuyển sang sử dụng dạng "điểm đen" của mã vạch với các vòng tròn đồng tâm Họ đã gửi đến cơ quan quản lý sáng chế Mỹ ngày 20 tháng 10 năm 1949 công trình Classifying Apparatus and Method (Thiết bị và phương pháp phân loại) để lấy bằng sáng chế Bằng sáng chế đã được phát hành ngày 7 tháng 10 năm 1952

Thiết bị đọc mã vạch đầu tiên được thiết kế và xây dựng bởi Woodland (khi đó đang làm việc cho IBM) và Silver năm 1952 Nó bao gồm một đèn dây tóc 500 W và một ống chân không nhân quang tử được sản xuất bởi RCA cho các phim có âm thanh (nó để in theo phương pháp quang học lên trên phim) Thiết bị này đã không được áp dụng trong thực tế: để có dòng điện đo được bằng các nghiệm dao động (oscilloscope) thì đèn công suất 500 W gần như đã làm cháy giấy có mẫu mã vạch đầu tiên của họ

Nó đã không được sản xuất đại trà Năm 1962 họ bán sáng chế này cho công ty Philips, sau đó Philips lại bán nó cho RCA Phát minh ra tia laser năm 1960 đã làm cho các thiết bị đọc mã vạch trở nên rẻ tiền hơn, và sự phát triển của mạch bán dẫn

Trang 19

(IC) làm cho việc giải mã các tín hiệu thu được từ mã vạch có ý nghĩa thực tiễn Đáng tiếc là Silver đã chết năm 1963 ở 38 tuổi trước khi có bất kỳ những gì thực tiễn thu được từ sáng chế này

Năm 1972, cửa hàng Kroger ở Cincinnati thử nghiệm việc sử dụng đầu đọc mã vạch điểm đen, với sự trợ giúp của RCA nhưng thử nghiệm đã không thu được thành công nào đáng kể Cùng thời gian đó, Woodland ở IBM đã phát triển mã vạch tuyến tính được chấp nhận vào ngày 3 tháng 4 năm 1973 như là Mã sản phẩm chung (tiếng Anh: Universal Product Code, hay UPC) Vào ngày 26 tháng 6 năm 1974, sản phẩm bán lẻ đầu tiên (gói 10 thanh kẹo cao su Juicy Fruit của Wrigley) đã được bán bằng cách sử dụng đầu đọc mã vạch tại siêu thị Marsh ở Troy, Ohio (Gói kẹo cao su này hiện nay nằm trong Viện bảo tàng quốc gia Hoa Kỳ ở Smithsonian.)

Năm 1992, Woodland đã được trao tặng giải thưởng Huy chương công nghệ quốc gia bởi Tổng thống George H W Bush

Năm 2004, Nanosys Inc sản xuất mã vạch nano (nanobarcode) - sợi dây kích thước nano (10-9 m) chứa các phần khác nhau của Si và GexSi1-x

Trang 20

máy bay 

Trang 23

Trong hệ thống mã số EAN cho sản phẩm bán lẻ có hai loại, một loại sử dụng

13 con số (EAN-13) và loại kia sử dụng 8 con số (EAN-8)

Hình 2.3 - 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ố tuỳ thuộc vào mã doanh nghiệp

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

Để đảm bảo tính thống nhất và tính đơn nhất của mã số, mã quốc gia phải do tổ chức mã số vật phẩm quốc tế (EAN International) cấp cho các quốc gia là thành viên

Trang 24

 Code 39

UPC và EAN dù là 2 lọai mã vạch có tính chất chuyên nghiệp và quốc tế nhưng khuyết điểm của nó là dung lượng có giới hạn và chỉ mã hóa được số, không mã hóa được chữ

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

Hình 2.4 - Ví dụ về code 39

Nhiều tổ chức đã chọn một dạng thức Code 39 để làm chuẩn công nghiệp của mình trong đó đáng chú ý là Bộ Quốc Phòng Mỹ đã lấy Code 39 làm bộ mã gọi là LOGMARS

 Code 128

Code 128 là loại mã vạch tiết kiệm được không gian hơn so với code 39,do nó

có độ nén cao hơn,và nó được dùng trong công nghiệp vận tải và đóng gói Code 128

có thể mã hóa ký tự và số và những ký tự đặc biệt

Hình 2.5 - Cấu tạo code 128

Code 128 bao gồm ba loại:

- 128A - ký tự ASCII từ 00 đến 95(0 – 9,A-Z và mã điều khiển) và các ký tự

Trang 25

- 128B - ký tự ASCII từ 32 đến 127(0 – 9,A-Z,a –z) và các ký tự đặc biệt

- 128C- các ký tự số từ 00 đến 99

2.2.4 Ứng dụng của mã vạch

Mã vạch được sử dụng ở những nơi mà các đồ vật cần phải đánh số với các thông tin liên quan để các máy tính có thể xử lý Thay vì việc phải đánh một chuỗi dữ liệu vào phần nhập liệu của máy tính thì người thao tác chỉ cần quét mã vạch cho thiết

bị đọc mã vạch Chúng cũng làm việc tốt trong điều kiện tự động hóa hoàn toàn, chẳng hạn như trong luân chuyển hành lý ở các sân bay

Các dữ liệu chứa trong mã vạch thay đổi tùy theo ứng dụng Trong trường hợp đơn giản nhất là một chuỗi số định danh được sử dụng như là chỉ mục trong cơ sở dữ liệu trong đó toàn bộ các thông tin khác được lưu trữ Các mã EAN-13 và UPC tìm thấy phổ biến trên hàng bán lẻ làm việc theo phương thức này

Hình 2.6 - Mã vạch theo code EAN-13

Trong các trường hợp khác, mã vạch chứa toàn bộ thông tin về sản phẩm, mà không cần cơ sở dữ liệu ngoài Điều này dẫn tới việc phát triển mã vạch tượng trưng

mà có khả năng biểu diễn nhiều hơn là chỉ các số thập phân, có thể là bổ sung thêm các ký tự hoa và thường của bảng chữ cái cho đến toàn bộ bảng mã ký tự ASCII và nhiều hơn thế Việc lưu trữ nhiều thông tin hơn đã dẫn đến việc phát triển của các ma trận mã (một dạng của mã vạch 2D), trong đó không chứa các vạch mà là một lưới các

ô vuông Các mã vạch cụm là trung gian giữa mã vạch 2D thực thụ và mã vạch tuyến tính, và chúng được tạo ra bằng cách đặt các mã vạch tuyến tính truyền thống trên các

Trang 26

2.3 Tổng quan về máy đọc mã vạch

Mã vạch và công nghệ mã vạch sẽ chẳng có ý nghĩa gì cả nếu chúng ta không

có những thiết bị đầu - cuối dùng để tạo và giải mã ký hiệu Có nhiều loại thiết bị dùng

để tạo và giải mã barcode mà trong đó Barcode Thermal Printer và Barcode Scanner là loại thông dụng nhất được ứng dụng rộng rãi trong cả buôn bán lẻ lẫn trong sản xuất công nghiệp, v.v

2.3.1 Barcode Scanner

Nếu các bạn có dịp vào đến tận các cơ sở in gia công nhãn mã vạch chuyên nghiệp, hay cửa hàng, siêu thị các bạn sẽ được nghe những tiếng kêu "bíp bíp" vang lên đây đó Và đó chính là thứ ngôn ngữ chung của họ nhà barcode scanner

Cũng mang tiếng là scanner, nhưng barcode scanner chỉ scan được duy nhất

"mã vạch" mà thôi Máy đọc thẻ mã vạch (gọi là Slot barcode reader), thực chất cũng

là 1 loại barcode scanner được trang bị tia quét nằm ngay trong khe kéo thẻ Hầu như tất cả các loại barcode scanner được sử dụng phổ biến ngày nay đều là loại barcode quang học trong đó người ta dùng tia sáng để nhận dạng mã vạch

2.3.2 Cấu tạo cơ bản của máy quét barcode quang học

Một máy quét barcode quang học cơ bản và đầy đủ gồm 3 thành phần:

Hình 2.7 - Tròng CCD

Trang 27

- Loại Laser Scanner: gồm 1 mắt đọc tựa như mắt đọc của đầu đĩa hình, phát ra tia laser đỏ, sau đó người ta dùng kính phản xạ để tạo thành vệt sáng cắt ngang qua bề mặt của mã vạch Loại laser scanner không cần dùng tròng thu ánh sáng

 Bộ phận truyền tín hiệu

Phát ra các xung điện tượng trưng cho các vạch và các khoảng trống thu được

từ bộ phận quét Thường bộ phận quét và bộ phận truyền được tích hợp trên cùng 1 board mạch

 Bộ phận giải mã (Decoder)

Nhận tín hiệu xung điện từ bộ phận truyền và giải mã theo dạng thức của loại barcode được lập trình sẵn trong bộ nhớ Nếu giải mã thành công, 1 tiếng kêu "bíp" sẽ phát ra và tín hiệu được giải mã sẽ xuất hiện trên màn hình của phần mềm đang sử dụng

2.3.3 Nguyên lý hoạt động của máy quét barcode quang học

Các máy quét barcode bắn ra 1 chùm tia sáng, thường là màu đỏ Nếu nó rơi vào 1 vùng sáng, thì 1 con số zero sẽ được đọc Còn nếu nó rơi vào 1 vùng tối, thì máy

sẽ nhận dạng là con số 1 Như vậy, việc quét barcode sẽ phát ra 1 chuỗi gồm những con số zero và 1 Chuỗi này sẽ tượng trưng cho các ký tự hoặc ký số đã được mã hoá

và được truyền vào bộ giải mã Bộ giải mã có thể là phần cứng (bộ phận giải mã) có Firmware, hoặc cũng có thể là phần mềm được cài vào máy tính Khi chuỗi zero và 1 đưa vào bộ giải mã được nhận dạng là 1 loại barcode nào đó, thì nó sẽ được biên dịch thành mã số ban đầu và 1 tiếng "bíp" sẽ báo hiệu Còn bằng ngược lại thì máy sẽ không báo hiệu gì cả và không có mã số nào được hiển thị vì tín hiệu thu được không nằm trong các loại barcode được lập trình sẵn trong Firmware của phần cứng hoặc trong Software của phần mềm

Thông thường hầu hết các loại barcode scanner có mặt trên thị trường đều có sẵn bộ giải mã bên trong và ta không cần phải lập trình để giải mã barcode

Đặc điểm của scanner quang học là các vạch càng cao thì góc quét càng lớn và khả năng đọc mã vạch càng cao Vạch càng thấp thì chùm tia sáng đập vào nó càng ít (tức

Trang 28

Như vậy, trong nguyên lý hoạt động của máy quét barcode quang học, ta thấy rằng khi 1 máy quét barcode còn tốt (tức bộ phận phát tia sáng còn tốt) không đọc được 1 loại barcode nào đó thì điều này có nghĩa là máy vẫn đọc được tín hiệu, nhưng không giải mã được vì chuỗi (0, 1) thu được không nằm trong bất kỳ loại barcode nào

có sẵn trong Firmware của máy

2.3.4 Phân loại máy quét barcode quang học

Tùy theo công nghệ chế tạo và tùy theo nhu cầu, mục đích sử dụng mà người ta phân loại barcode scanner theo nhiều cách khác nhau :

 Phân loại theo công nghệ

Hiện nay máy quét barcode quang học được phân chia thành 2 loại:

- CCD Scanner: Các máy quét theo công nghệ CCD nói chung đáng tin cậy và rất bền Khuyết điểm chủ yếu của nó là chỉ quét được barcode trên bề mặt phẳng với

cự ly gần, không quét được barcode theo chiều cong như các loại barcode dán trên chai, nhưng bù lại giá thành của CCD scanner rẻ hơn nhiều so với loại laser scanner

- Laser Scanner: Các máy quét barcode dùng tia sáng laser cho ra tia sáng rất mãnh cắt ngang bề mặt barcode Ưu điểm của các máy quét dùng tia laser là quét rất nhạy, chính xác, có thể quét mã vạch trên bề mặt cong và có khả năng quét tầm xa Nhược điểm: không bền bằng máy quét CCD vì máy quét laser dùng mắt đọc tia laser tưong tự như mắt đọc của đầu đĩa Sau 1 thời gian đọc có giới hạn, mắt đọc có thể bị yếu đi xin ra hiện tượng "kén barcode" giống như hiện tượng kén đĩa của đầu đĩa hình

và có thể bị hư hẳn

 Phân loại theo công dụng

 Linear Barcode Scanner (Máy quét barcode tuyến tính hay 1-D):

Quét được các loại barcode 1-D thông dụng và 1 số không thông dụng Thường đây là loại barcode cầm tay (handheld scanner) phát ra tia sáng thẳng nằm ngang Linear Scanner quét được bao nhiêu loại barcode 1-D cần phải tra cứu ở sách hướng dẫn sử dụng, điều này có nghĩa là có 1 số loại ký hiệu barcode 1-D mà máy không quét được

Trang 29

 2-D Barcode Scanner (máy quét barcode 2-D):

Còn gọi là Barcode Imager là loại máy quét hay máy đọc mã vạch 2-D như PDF-417, Data Matrix, MaxiCode, v.v và lẽ dĩ nhiên cũng có thể đọc được các loại mã vạch 1 chiều Barcode Imager có thể là loại cầm tay hoặc để bàn như trong siêu thị thường dùng

Máy quét mã vạch 2-D dùng tia laser sau đó phản xạ bằng 1 hệ thống lăng kính

để tạo thành 1 chùm sáng phủ trên mọi góc độ của ký hiệu mã vạch Chính vì vậy, khi quét loại mã vạch 1-D bằng máy quét mã vạch 2D, ta có thể quét theo bất cứ chiều nào cũng được, trong khi đó nếu dùng máy quét 1-D, ta phải bắn tia sáng cắt ngang qua toàn bộ mã vạch Đó cũng là lý do các siêu thị lớn thường chọn máy quét để bàn 2-D

để quét tính tiền các món hàng cho mau lẹ

 Phân loại theo cổng giao tiếp

Có 3 loại cổng giao tiếp mà máy quét mã vạch thường sử dụng:

 Loại dùng cổng Keyboard (còn gọi là Keyboard Wedge):

Với cổng giao tiếp này, khi kết nối với máy tính, ta phải rút dây bàn phím ra khỏi máy tính Sau đó ghim dây của scanner vào vị trí của bàn phím, rồi ghim dây của bàn phím vào đầu còn lại của dây scanner (hình bên cạnh) Đặc điểm của máy quét mã vạch dùng cổng Keyboard là sau khi được giải mã, các tín hiệu sẽ theo cổng keyboard

để hiển thị mã số ngay tại vị trí của con nháy, tương tự như khi ta gõ mã số bằng bàn phím Do đó ta chỉ cần dùng 1 phần mềm văn bản thông dụng như Nodepad, Word hay Excel cũng có thể quét được mã vạch.Thường các máy quét cầm tay hay sử dụng cổng Keyboard vì nó tiên lợi, dễ sử dụng và không cần driver gì cả

 Loại dùng cổng RS-232 (còn gọi là cổng COM- cổng con chuột)

Máy quét mã vạch sử dụng giao diện RS-232 thường phải cung cấp thêm 1 nguồn điện 5VDC từ bên ngoài và phải dùng phần mềm đặc biệt kèm theo máy để setup Loại RS-232 cũng sử dụng một chương trình giải mã barcode bên trong tuy nhiên ta không thu được tín hiệu dạng văn bản từ giao diện RS-232 Nếu sử dụng 1 máy quét qua cổng COM để quét mã vạch mà không có phần mềm gì đặt biệt, ta chỉ nghe một tiếng "bíp" và không thu được gì cả Điều này làm cho nhiều người lầm

Trang 30

giải mã rồi (bởi thế mới có tiếng "bíp" phát ra) Vấn đề là tín hiệu thu được từ cổng COM không xuất ra được dưới dạng văn bản để có thể hiển thị được mã số Do đó trong trường hợp này, một chương trình chuyển đổi tín hiệu sẽ được viết Nếu bạn là nhà lập trình thì đây chính là công đoạn mà bạn cần phải thực hiện Thường các loại máy quét để bàn và các loại máy quét 2-D hay sử dụng cổng RS-232

 Loại dùng cổng USB

Cũng giống như dùng cổng Keyboard, máy quét mã vạch dùng cổng USB không cần dùng nguồn điện phụ trợ 5VDC từ bên ngoài, mà nguồn điện này được lấy trực tiếp từ cổng nối USB với cường độ dòng điện lên đến 500mA.Dùng cổng USB có thể cắm thẳng thiết bị vào máy tính mà không cần phải shutdown máy, tốc độ truyền

dữ liệu nhanh và dữ liệu quét cũng có thể đưa thẳng vào các phần mềm văn bản thông dụng như trường hợp máy quét dùng cổng keyboard

 Phân loại theo cấu tạo

Tùy theo môi trường sử dụng và cách thức sử dụng mà các nhà chế tạo ra máy quét barcode có nhiều chủng loại barcode scanner khác nhau như dạng cầm tay, dạng

để bàn, dạng không dây, dạng đũa, dạng đọc thẻ mã vạch, dạng kéo thẻ v.v Dưới đây

là 1 số dạng scanner thông dụng:

 Dạng cầm tay (handheld scanner):

Dạng cầm tay thường được sử dụng trong các cửa hàng bán lẻ, trong nhà sách, dùng để kiểm tra khi in mã vạch Dạng cầm tay có cả 2 dạng là CCD scanner và Laser scanner và thường là loại tuyến tính Tuy nhiên cũng vẫn có dạng cầm tay 2-D có thể quét được mã vạch 2 chiều Đa số các loại Handheld Scanner đều có kèm theo chân đứng và giá đở, do đó dạng cầm tay vẫn có thể để bàn được như thường Dạng cầm tay

là loại scanner rẻ tiền nhất trong số tất cả các chủng loại barcode scanner

Trang 31

Hình 2.8 - Máy đọc mã vạch dạng cầm tay

 Dạng để quầy hay để bàn (In-counter Scanner):

Dạng để bàn là loại 2-D barcode scanner sử dụng chùm tia sáng laser quét với tốc độ rất cao, có thể quét lên đến tốc độ 2000 scans/second Với tốc độ này, máy quét rất nhạy và có thể quét được các loại mã vạch kém chất lượng Dạng máy quét để bàn thường được dùng trong các siêu thị hay các trung tâm thương mại cỡ lớn Kết hợp với

hệ thống POS tạo thành điểm bán hàng mang tính chuyên nghiệp và hiện đại

Hình 2.9 - Máy đọc mã vạch dạng để bàn

 Dạng desktop:

Là loại scanner nhỏ gọn được kết nối thường xuyên với máy vi tính giống như

là 1 thiết bị ngoại vi Dạng Desktop thường chỉ quét được barcode 1-D và được sử dùng cho các công việc văn phòng, các cơ quan hành chánh có nhu cầu quét mã vạch trên giấy tờ tài liệu

 Dạng đọc thẻ, coupon, tài liệu:

Là loại máy quét 2-D sử dụng chùm tia laser và có tầm quét xa và rộng Tốc độ quét của loại này lên đến trên 1000 scans/second Dạng máy quét dùng để đọc thẻ,

Trang 32

ở các quầy tính tiền trong các Club, quầy Bar, cửa hàng ăn uống khi thẻ barcode được

sử dụng như là thẻ hội viên (membership)

 Dạng không dây "Mẹ bồng con"(Wireless Scanner):

Tựa như loại điện thoại "Mẹ bồng con", loại máy này gồm 2 phần: 1 phần nối với máy tính (coi như máy mẹ) và phần kia là scanner không dây sử dụng Pin sạc Loại scanner này dùng để quét mã vạch trên các món hàng lớn mà ta không thể "bê"

nó về quầy tính tiền được Thí dụ: quét mã vạch trên 1 cái "tủ lạnh" Chắc chắn ta phải dùng loại scanner này vì ta không thể mang tủ lạnh đến quầy tính tiền được

Hình 2.10 - Máy quét mã vạch dạng không dây

 Dạng Portable Data Terminal:

Đây là dạng máy trạm theo công nghệ không dây RFID mà các công ty chuyên bán các thiết bị mã vạch của chúng ta thường gọi là "máy kiểm kho" Các Data Terminal thu thập dữ liệu và lưu trữ vào bộ nhớ của máy Sau đó có thể truy xuất dữ liệu tại máy hoặc Download về máy tính để xử lý Sự khác biệt giữa Data Terminal và loại máy "Mẹ bồng con" là Terminal hoạt động như 1 máy trạm, có Firmware và có thể lập trình cho dữ liệu thu thập, còn loại máy "Mẹ bồng con" hoạt động như 1 máy quét cầm tay thông thường, tức là dữ liệu thu thập được truyền thẳng về máy vi tính

Do đó nó được xếp vào loại Handheld Scanner chứ không phải theo công nghệ RFID Portable Data Terminal được sử dụng trong hệ thống kiểm kho, kiểm tra hàng hoá trên các kệ hàng hoặc thu thập dữ liệu ở những nơi không có máy tính

 Dạng máy quét công nghiệp (Industrial Barcode Scanner):

Dạng máy quét công nghiệp dùng để kiểm tra hàng hoá sản xuất ngay tại đầu ra của băng chuyền Từ đó biết được chính xác số lượng, mã mặt hàng của mỗi sản phẩm, tiết kiệm được nhân lực và thời gian dùng để kiểm tra sản phẩm Dạng này có

Trang 33

độ chính xác rất cao, được thiết kế treo giống như đèn sân khấu Chùm tia sáng phát ra

có miền quét rất sâu và phủ rộng, có thể quét cùng lúc nhiều loại mã vạch trong vùng phủ sáng Được sử dụng chủ yếu cho các khu công nghiệp, các xí nghiệp sản xuất hàng hoá trên băng chuyền Loại máy quét này cũng có thể được bố trí trong kho như hình bên phải Khi đó mỗi 1 kiện hàng được mang ra đều phải qua vùng phủ sáng của máy quét và do đó thông tin trên kiện hàng được ghi nhận Được sử dụng trong vận chuyển, giao nhận hàng

 Dạng kéo thẻ (Barcode Slot Reader):

Dạng kéo thẻ barcode cùng với thẻ từ và thẻ thông minh được ứng dụng trong công nghệ nhận dạng tự động như hệ thống Access Control dùng để mở cửa, hệ thống Time Attendence dùng để chấm công, quản lý nhân sự Sự khác nhau giữa 1 máy barcode slot reader và 1 máy quét barcode thông thường là ở chỗ khi kéo thẻ barcode,

mã số được đưa vào máy đọc sẽ tác động 1 hiệu ứng điện và cơ học để làm mở cửa,

mở khoá (Access Control), hoặc mã số được đưa vào 1 phần mềm quản lý nhân sự nhằm mục đích chấm công, quản lý nhân viên

Hình 2.11 - Máy kéo thẻ barcode

Tóm lại, các loại máy quét, máy đọc barcode là cả 1 ngành công nghệ được chế tạo cho nhiều mục đích, nhiều ứng dụng khác nhau nhằm phục vụ cho con người tốt hơn trong các vấn đề về quản lý nói chung Chi phí đầu tư cho mỗi ứng dụng không cao lắm, nhưng làm sao để cho các doanh nghiệp thấy được tầm quan trọng và lợi ích của công nghệ barcode để có thể mạnh dạn đầu tư vào là một vấn đề mà cho tới nay chúng ta vẫn chưa giải quyết được Một số công ty đã ứng dụng được công nghệ barcode trong quản lý và trong thủ tục hành chánh nhưng chỉ là tự phát và con số đó rất thấp nếu so với số lượng các công ty lẽ ra nên ứng dụng các công nghệ tiên tiến tại

Ngày đăng: 12/06/2018, 13:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lim S.J., 2001, Giáo trình xử lý ảnh (GS. Nguyễn Văn Ngọ dịch, Nguyễn Viết Kính hiệu đính), Khoa Công nghệ - Đại học Quốc gia, Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh
[2] TS.Đỗ Năng Toàn & TS.Phạm Việt Bình, Xử lý ảnh, Nhà xuất bản Đại học Thái Nguyên, Thái Nguyên, tháng 11 năm 2007 Sách, tạp chí
Tiêu đề: Xử lý ảnh
Nhà XB: Nhà xuất bản Đại học Thái Nguyên
[3] Nguyễn Đỗ Anh Khoa, “Hướng dẫn học C# bằng video”. < http://congdongso.com/threads/4444-video-day-c-cua-thay-nguyen-do-anh-khoa.html?s=df139ab999bdb85e47bd6f2818f07961&gt Sách, tạp chí
Tiêu đề: Hướng dẫn học C# bằng video
[4] Trịnh Hoài Thanh, “Cắt ảnh trong C#”. < http://forums.congdongcviet.com/showthread.php?t=15256 &gt Sách, tạp chí
Tiêu đề: Cắt ảnh trong C#
[7] “Xử lý ảnh trong C#”, ngày 17 tháng 8 năm 2009. Truy cập ngày 20 tháng 03 năm 2011.<http://s1.zetaboards.com/microstar/topic/2141348/1/> Tài liệu tham khảo Tiếng nước ngoài Sách, tạp chí
Tiêu đề: Xử lý ảnh trong C#

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w