ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE ........... ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE ........... ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE ........... ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE ........... ỨNG DỤNG kỹ THUẬT xử lý ẢNH TRONG NHẬN DIỆN BARCODE ...........
Trang 1ỨNG DỤNG KỸ THUẬT XỬ LÝ ẢNH TRONG NHẬN DIỆN BARCODE
Trang 2MỤ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
ii
Trang 35.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Ẽ
iii
Trang 4HÌ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
iv
Trang 5DANH 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
v
Trang 61D 1-Dimension
2D 2-Dimension
UPC Universal Product Code
EAN The European Article Numbering system
QR Quick Response
vi
Trang 7Trang 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ệncác loại hình ảnh khác nhau, nhận diện barcode (mã vạch) là một trong những ứngdụ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ảnphẩ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.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ẻ sinhviên,…
CHƯƠNG 2 LÝ THUYẾT VỀ BARCODE1.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 8Trang 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ưutrữ trong nó Barcode (mã vạch) thường được tìm thấy trên các sản phẩm, hàng hóahay 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ủahà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ảnxuấ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ầndãy số để con người nhận diện
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ườngthấ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 9Trang 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ồmCode 128 Auto, Code 128-A, Code 128-B, Code 128-C Các loại mã tốt nhất đượccông nhận như UPC và EAN
Trang 10Ở 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
Trang 12Trang 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 13Ngoà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áyqué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 14đồ khối:
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode
Chuyển sang ảnhnhị phân
Đưa ảnh cần
xử lý
Mã hóa thành dãy sốXuất thông tin
barcode
Trang 15Trang 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ênfile ả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 ảnhmàu đen
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode
Trang 16Trang 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 ảnhmà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 17Trang 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ồmcá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ụccho đến số thứ 13
Vạch bảo vệ trung tâm
Trang 18Trang 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 barcodenhư: 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 đó
Trang 19Trang 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êuthị
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ủasản phẩm, giá bán
1.12 Lưu đồ giải thuật
Nhấn Run để chạy chương trình
STrùng với
thư viện
So sánh dãy số đọc được
Đ
Kết thúcHiển thị thông tin của barcode
Hiển thị thông tin của barrcode
Trang 20Trang 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ếunhư 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
Đề 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 21Trang 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ý
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:
pham
[1]http://tihe.org.vn/tin-tuc/chi-tiet/162-Y-nghia-cua-dau-ma-vach-tren-bao-bi-san-[2]https://vi.wikipedia.org/wiki/EAN-13
nhu-cau-dung.html
[3]http://barcodevtn.com/giai-phap/cac-loai-ma-vach-cach-chon-ma-vach-dung-voi-Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode
Trang 22Trang 16/16
[4]http://www.anthinh.com/tin-tuc/chi-tiet/nhung-dieu-can-biet-ve-ma-vach-66/[5]http://vimach.net/threads/matlab-trong-xu-ly-anh-tao-nguong-trong-xu-ly-anh.414/
Tiếng Anh:
[1]http://www.ijettcs.org/Volume2Issue4/IJETTCS-2013-08-19-097.pdf
represents-pixel-colors.html
[2]https://www.mathworks.com/company/newsletters/articles/how-matlab-Đề tài này sử dụng hình ảnh từ các trang Web:
ma-vach-hang-hoa.jpg
[1]http://marketingbox.vn/upload/image/Thuong-hieu/12%20MA%20VACH/05-[2]http://www.taltech.com/assets/img/barcodes/barcode-upca-300dpi.png
[3]http://media.bizwebmedia.net/sites/68078/data/Upload/2014/8/
ma_vach_viet_nam.jpg
[4]https://www.thongtincongnghe.com/sites/default/files/images/2011/8/13/qrcode.png
Ứng dụng kỹ thuật xử lý ảnh
trong nhận diện barcode