Đồ án Nhận dạng mã vạch (Phần 1)

pdf 22 trang phuongnguyen 40
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nhận dạng mã vạch (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_nhan_dang_ma_vach_phan_1.pdf

Nội dung text: Đồ án Nhận dạng mã vạch (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN- ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG NHẬN DẠNG MÃ VẠCH GVHD: ThS. NGÔ QUỐC CƯỜNG SVTH: HỒ VĂN HÙNG MSSV: 09117026 MSSV: VÕ HÀ NGUYỄN MSSV: 09117086 S K L 0 0 3 2 1 6 Tp. Hồ Chí Minh, tháng 08/2014
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG o0o ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ ĐIỆN TỬ-VIỄN THÔNG Đề tài: NHẬN DẠNG MÃ VẠCH GVHD : ThS. NGÔ QUỐC CƯỜNG SVTH : HỒ VĂN HÙNG MSSV: 09117026 VÕ HÀ NGUYỄN MSSV: 09117086 TP. HCM - 8/2014
  3. Nhận dạng mã vạch Trang i LỜI CẢM ƠN Lời đầu tiên nhóm sinh viên thực hiện xin chân thành bày tỏ lòng cảm ơn thầy Ngô Quốc Cường, người đã tận tình hướng dẫn trong suốt quá trình hoàn thành luận văn này. Thầy đã mở ra cho nhóm sinh viên thực hiện những vấn đề khoa học hướng nhóm thực hiện đề tài vào nghiên cứu các lĩnh vực hết sức thiết thực và vô cùng bổ ích, đồng thời tạo điều kiện thuận lợi nhóm sinh viên thực hiện học tập và nghiên cứu. Nhóm sinh viên thực hiện đã học hỏi được rất nhiều ở thầy phong cách làm việc, cũng như phương pháp nghiên cứu khoa học của thầy Nhóm luôn được thầy cung cấp các tài liệu, các chỉ dẫn hết sức quý báu khi cần thiết trong suốt thời gian thực hiện luận văn. Nhóm sinh viên thực hiện cũng xin thể hiện sự kính trọng và lòng biết ơn đến quý thầy cô trong khoa Điện – Điện Tử, những người đã trang bị cho nhóm rất nhiều kiến thức chuyên ngành, cũng như sự chỉ bảo, giúp đỡ tận tình của quý thầy cô đối với nhóm sinh viên thực hiện trong suốt quá trình học tập. Nhân đây, nhóm sinh viên thực hiện xin gửi lời cảm ơn sâu sắc đến bố, mẹ và những người thân trong gia đình, cảm ơn những tình cảm và những lời động viên nhóm sinh viên thực hiện trong suốt quá trình hoàn thành luận văn này. Nhóm sinh viên thực hiện cũng xin được cảm ơn tất cả anh chị, các bạn học, những người đã cung cấp và chia sẻ những tài liệu, thông tin quý báu trong suốt quá trình học tập, nghiên cứu, hoàn thành luận văn này. Tp. Hồ Chí Minh, tháng 8 năm 2014 Nhóm sinh viên thực hiện Hồ Văn Hùng Võ Hà Nguyễn
  4. Nhận dạng mã vạch Trang ii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii LIỆT KÊ BẢNG vi LIỆT KÊ HÌNH vii LIỆT KÊ TỪ VIẾT TẮT x TÓM TẮT xi ABSTRACT xii Chƣơng 1 1 GIỚI THIỆU 1 1.1 Tình hình nghiên cứu 1 1.2 Lý do chọn đề tài 2 1.3 Giới thiệu đề tài 2 1.4 Mục tiêu của đề tài 3 1.5 Ý nghĩa của đề tài 3 1.6 Giới hạn của đề tài 3 1.7 Nội dung của đề tài 4 Chƣơng 2 5 MÃ VẠCH 5 2.1 Phân loại mã vạch 5 2.1.1 Mã vạch 1D 5 2.1.2 Các loại Barcode 2D 10 2.2 Các hình thức thông tin 11 2.2.1 Thông tin hệ thống UPC (Universal Product Code) 12 2.2.2 Thông tin hệ thống EAN (European Article Number) 13
  5. Nhận dạng mã vạch Trang iii 2.2.3 Thông tin mã số EAN-13 13 2.2.4 Thông tin mã số EAN-8 15 2.3 Các phƣơng pháp đọc mã vạch 16 2.3.1 Loại CCD Scanner 16 2.3.2 Loại Laser Scanner 16 2.3.3 Đọc mã vạch dùng camera 17 Chƣơng 3 18 CƠ SỞ LÝ THUYẾT VỀ XỬ LÝ ẢNH 18 3.1 Giới thiệu 18 3.1.1 Phần thu nhận ảnh (Image Acquisition) 19 3.1.2 Ti n l mage rocessing 19 3.1.3 h n oạn egmentation ha ph n vùng ảnh 19 3.1.4 i u di n ảnh mage epresentation 19 3.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) 20 3.1.6 Cơ sở tri thức (Knowledge Base) 20 3.2 Những vấn đề cơ bản trong hệ thống xử lí ảnh 20 3.2.1 Đi m ảnh (Picture Element) 20 3.2.2 Ảnh 21 3.2.3 Độ ph n giải của ảnh 22 3.2.4 Mức ám của ảnh 22 3.2.5 Ảnh nhị ph n 22 3.2.6 Ảnh màu 22 3.2.7 Kh nhi u 22 3.2.8 Chỉnh mức ám 23 3.2.9 Nhận dạng ảnh 23
  6. Nhận dạng mã vạch Trang iv Chƣơng 4 25 NHẬN DẠNG MÃ VẠCH 25 4.1 Tìm góc nghiêng và xoay ảnh 26 4.1.1 Biến ổi Radon 26 4.1.2 Tìm góc nghiêng và oa 29 4.1.3 Một số hình ảnh oa hình của mã vạch 33 4.2 Phát hiện mã vạch 34 4.2.1 hương pháp tính toán hoạt ộng hình thái 34 4.2.2 Kết luận nhận diện mã vạch 37 4.3 Gải mã mã vạch 38 4.3.1 Khối ti n x l . 38 4.3.2 Khối ác ịnh chuỗi thông tin. 39 4.3.3 Khối ọc mã vạch 41 4.4 Kết quả 42 4.4.1 Ảnh l tưởng 42 4.4.2 Ảnh cắt ngẫu nhiên từ vật 43 4.4.3 Ảnh bị nghiêng 44 4.4.4 Các trường hợp ảnh không giải mã ược mã vạch 47 4.5 Đánh giá độ chính xác 49 4.6 Nhận xét 49 Chƣơng 5 51 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 51 5.1 Kết luận 51 5.2 Hướng phát tri n 51 PHỤ LỤC 53 Phụ lục A: NGUYÊN TẮC GIẢI MÃ EAN-13 53
  7. Nhận dạng mã vạch Trang v Phụ lục B 55 HƢỚNG DẪN THỰC HIỆN CHƢƠNG TRÌNH MÔ PHỎNG 55 Kết quả thực hiện phần mềm 55 A. Chƣơng trình mô phỏng ảnh tĩnh 55 B. Chƣơng trình mô phỏng ảnh lấy từ webcam 60 TÀI LIỆU THAM KHẢO 63
  8. Nhận dạng mã vạch Trang vi LIỆT KÊ BẢNG Bảng 1.1: Mô tả công dụng mã hoá của các loại mã vạch thông dụng 5 ảng 4.1: Kết quả nhận dạng 49 Bảng A.1: Mã hóa chuẩn của mã EAN-13 . 54 Bảng A.2: Bảng mã hóa của mã EAN-13 được xây dựng 54
  9. Nhận dạng mã vạch Trang vii LIỆT KÊ HÌNH Hình 2.1: Mã UPC 7 Hình 2.2: Mã EAN 8 Hình 2.3: Mã Code 39 9 Hình 2.4: Mã Interleaved 2of 5 9 Hình 2.5: Các loại mã thông dung khác 10 Hình 2.6: Mã xếp chồng 11 Hình 2.7: Mã ma trận 11 Hình 2.8: Mã UPC 12 ký số 12 Hình 2.9: Cấu trúc mã EAN 13 Hình 3.1: Các bước cơ bản trong xử lý ảnh 18 Hình 4.1: Lưu đồ hệ thống 25 Hình 4.2: Phương pháp biến đổi Radon 26 Hình 4.3: Hình chiếu đơn giản theo góc 27 Hình 4.4: Phương pháp biến đổi Radon dưới dạng hình học 28 Hình 4.5: iến đổi về ảnh nhị phân 28 Hình 4.6: iến đổi màu của R sau biến đổi Radon 29 Hình 4.7: Ảnh được tách biên 30 Hình 4.8: Lưu đồ gải thuật của biến đổi xoay hình 31 Hình 4.9: Ảnh trước khi xoay 33 Hình 4.10: Ảnh sau khi xoay 33 Hình 4.11: Sơ đồ khối nhận diện mã vạch 34 Hình 4.12: Ảnh cần xử lý 36 Hình 4.13: Ảnh sau qua tiền xử lý với Gradient và bộ lọc 36 Hình 4.14: Ảnh sau khi chuyển từ ảnh xám sang nhị phân 37 Hình 4.15: Ảnh sau khi được đánh dấu và tách khỏi ảnh cũ 37 Hình 4.16: Ảnh mã vạch được tách sau khi xác định vị trí 37 Hình 4.17: Sơ đồ giải thuật khối giải mã vạch 38 Hình 4.18: Ảnh trước (a) và sau (b) khi thay đổi cường độ sáng 39 Hình 4.19: Phương pháp Zero-Crossing 39
  10. Nhận dạng mã vạch Trang viii Hình 4.20: Sơ đồ xác định chuỗi thông tin 40 Hình 4.21: Sơ đồ đọc mã vạch 41 Hình 4.22: Ảnh đầu vào mẫu 1 42 Hình 4.23: Ảnh sau khi qua tiền xử lý mẫu 1 43 Hình 4.24: Hình sau khi cắt mẫu 1 43 Hình 4.25: Kết quả sau khi đọc Barcode mẫu 1 43 Hình 4.26: Ảnh đầu vào mẫu 2 43 Hình 4.27: Ảnh sau khi qua tiền xử lý mẫu 2 44 Hình 4.28: Hình sau khi cắt mẫu 2 44 Hình 4.29: Kết quả sau khi đọc Barcode mẫu 2 44 0 Hình 4.30: Ảnh mã vạch đầu vào bị nghiêng 40 45 0 Hình 4.31: Ảnh sau khi xoay về phương nằm ngang từ góc lệch 40 45 0 Hình 4.32: Ảnh mã vạch sau khi cắt ra khỏi hình chính từ góc lệch 40 45 0 Hình 4.33: Kết quả sau khi đọc mã vạch từ góc lệch 40 45 0 Hình 4.34: Ảnh mã vạch đầu vào bị nghiêng 90 46 0 Hình 4.35: Ảnh sau khi xoay về phương nằm ngangtừ góc lệch 90 46 0 Hình 4.36: Ảnh chứa mã vạch sau khi cắt từ góc lệch 90 46 0 Hình 4.37: Kết quả sau khi đọc mã vạch từ góc lệch 90 47 Hình 4.38: Ảnh bị lỗi khi in mã vạch 47 Hình 4.39: Ảnh bị tấn công khi xoay 48 Hình 4.40: Ảnh quá sáng sau khi chuyển qua ảnh mức thanh xám 48 Hình 4.41: Ảnh quá tối và sau khi thay đổi mức thanh xám 48 Hình A.1: Mã vạch EAN-13 chuẩn 53 Hình .1: Giao diện chính chương trình mô phỏng 55 Hình .2: Giao diện chọn phương pháp xử lý ảnh có sẵn 56 Hình .3: Giao diện chương trình khi chạy 56 Hình .4: Cửa sổ “chọn ảnh” 57 Hình .5: Kết quả nhận dạng và đọc mã vạch 57 Hình .6: Kết quả chạy chương trình ảnh số 1 58 Hình .7: Kết quả chạy chương trình ảnh số 2 58 Hình .8: Kết quả chạy chương trình ảnh số 3 59 Hình .9: Mã vạch bị xiên một góc 45 59
  11. Nhận dạng mã vạch Trang ix Hình .10: Mã vạch bị xiên một góc 72 60 Hình .11: Ảnh mã vạch bị xiên một góc 90 60 Hình .12: Chương trình xử lý từ tín hiệu Webcam 61 Hình .13: Giao diện chương trình xử lý ảnh từ webcam 61 Hình .14: Giao điện chương trình khi lấy tín hiệu Webcam 62 Hình .15: Ảnh từ Webcam được chụp và xử lý 62 . 62
  12. Nhận dạng mã vạch Trang x LIỆT KÊ TỪ VIẾT TẮT B Barcode Mã vạch Barcode symbology Ký mã vạch I Image Acquisition Phần thu nhận ảnh Image Processing Tiền xử lý Image Representation Biểu diễn ảnh EAN EAN European Article Number P PEL Picture Element Điểm ảnh PDF Portable Data File Tập tin dữ liệu di động S Segmentation Phân đoạn U UPC Universal Product Code RGB RGB (Red-Green-Blue) (Đỏ- Xanh lục-Xanh lam) HSV HSV (Hue-Saturation-Value) (Sắc màu- ão hòa-Độ sáng)
  13. Nhận dạng mã vạch Trang xi TÓM TẮT Mã vạch được sử dụng rất rộng rãi, trong việc đánh dấu các loại mặt hàng, sản phẩm, bưu kiện, thư viện, thông tin Để đọc mã vạch chúng ta có thể sử dụng máy laser hoặc sử dụng máy tính để xử lý hình ảnh từ camera. Và để máy tính có thể đọc, phân tích được thông tin từ mã vạch thì cần phải tạo ra những phần mềm dành riêng cho chúng. Vậy nên vấn đề đặt ra là chúng ta sẽ sử dụng một ngôn ngữ lập trình thực hiện việc nhận dạng và đọc mã vạch. Nhằm đáp ứng nhu cầu đó,nhóm thực hiện đề tài sẽ tìm hiểu, nghiên cứu và thực hiện việc đọc mã vạch 1D từ một ảnh có sẵn hoặc từ tín hiệu camera đầu vào. Các bước lấy ảnh và tiền xử lý sẽ chỉ là nền tảng để thực hiện việc đọc mã vạch vì thế trong luận văn sẽ quan tâm và làm rõ hơn về việc xử lý các ảnh có mã vạch nằm nghiêng, lệch so với phương nằm ngang và các bước xác định vị trí mã vạch, đọc mã vạch. Các phương pháp xoay ảnh radon, phương pháp tính toán hoạt động hình thái cơ bản sẽ được ứng dụng và làm rõ trong đề tài. Chương trình được mô phỏng trên phần mềm Matlab, sau khi hoàn thành được thực hiện trên nhiều hình ảnh và các vật mẫu lấy từ webcam để cho thấy được với việc sử dụng các phương pháp nêu trên giúp chúng ta có thời gian xử lý nhanh, chính xác và hiệu quả trong việc nhận dạng và xử lý mã vạch 1D.
  14. Nhận dạng mã vạch Trang xii ABSTRACT Barcodes are used widely, which marked kinds of items, products, packages, libraries, information We can use laser machine or personal computer for image processing from camera to recognize barcodes. For the computer can read and analyze information from the barcode is necessary to create software exclusively for them. Hence, the problem is built that we will use a programming language to simulate the "barcode recognition". To meet those requirements, this thesis of our teamwill learn, study and perform reading 1D barcodes from an available images either from the input signal of camera. Steps of take pictures and preprocessing will only platform to implement reading barcode. Therefore, this thesis will interested in and clarify the handling of the barcode image is tilted, compared to the horizontal deflection and the steps to locate the barcode‟s position, reading barcode. The method of rotation Radon image, the method morphology basic operational will be applied and clarified in this thesis. This program is simulated on Matlab software. After program completion is executed on multiple images and samples taken from the webcam to show that the using of above methods help us get fast processing time, accuracy and efficiency in the recognition and processing 1D barcodes.
  15. Nhận dạng mã vạch Trang 1 Chƣơng 1 GIỚI THIỆU 1.1 Tình hình nghiên cứu Mã vạch được sử dụng rất rộng rãi, trong việc đánh dấu các loại mặt hàng, sản phẩm, bưu kiện, thư viện, thông tin Để đọc mã vạch chúng ta có thể sử dụng máy laser hoặc sử dụng máy tính để xử lý hình ảnh từ camera. Và để máy tính có thể đọc, phân tích được thông tin từ mã vạch thì cần phải tạo ra những phần mềm dành riêng cho chúng. Vậy nên vấn đề đặt ra là chúng ta sẽ sử dụng một ngôn ngữ lập trình thực hiện việc nhận dạng và đọc mã vạch. Ngày nay việc nghiên cứu và phát triển các phương pháp, thuật toán dành riêng cho nhận dạng và đọc mã vạch đang được chú trọng và quan tâm. Với mỗi loại mã vạch như mã vạch 1D và 2D có những cách phương thức thiết kế, mã hóa riêng biệt nên cũng cần có những phương pháp xử lý riêng nhằm nâng cao độ chính xác và rút ngắn thời gian xử lý. Để áp dụng vào thực tiễn cuộc sống trên thế giới đã có những luận án, báo cáo khoa học nghiên cứu, giải thích và thực hiện những vấn đề nêu trên. Theo thời gian, nhiều phần mềm ứng dụng được giới thiệu rộng rãi, tuy nhiên đều thừa kế những phương pháp tiêu biểu đã được nghiên cứu nhưng sử dụng những thuật toán khác nhau. Phương pháp dựa trên các hoạt động hình thái cơ bản: hầu hết các thuật toán sử dụng các thao tác đơn giản trong tiền xử lý như lượng tử, chuyển ảnh về giá trị nhị phân. Trong trường hợp này, các tác giả dựa vào sự biến thiên của mã vạch, để xử lý mã vạch, tính toán Gradient và dùng bộ lọc được lựa chọn. Tiếp theo các thao tác phát hiện mã vạch sẽ được sử dụng trên ảnh nhị phân vừa được xử lý [4] [9]. Phương pháp Liner Scanning: thực hiện việc quét và so sánh các đường thẳng theo nhiều góc, thường chọn các góc 0, 45, 90, 135 độ. Phương pháp này đòi hỏi chất lượng ảnh đầu vào cao, vì vậy trước khi xử lý phát hiện mã vạch cần nâng cao chất lượng hình ảnh. Phương pháp này được sử dụng rộng rãi và thực hiện với nhiều thuật toán khác nhau [9]. Chương 1: Giới thiệu
  16. Nhận dạng mã vạch Trang 2 Phương pháp phân khúc, phân chia hình ảnh thành nhiều khu vực để xử lý, phương pháp này được sử dụng với bộ lọc đa đường Gabor với tám hướng và sau đó sử dụng các biến đổi Hough để xác định mã vạch [8]. Tuy nhiên việc nhận dạng mã vạch luôn gặp những khó khăn nhất định như: tác động từ ánh sáng của môi trường, chất lượng hình ảnh, chất lượng in ấn Vì vậy việc phát triển thêm nữa những phương pháp nhằm tối ưu hóa việc nhận dạng và đọc mã vạch vẫn còn là một vấn đề quan trọng. 1.2 Lý do chọn đề tài Với mong muốn tổng hợp lại những kiến thức đã học tại trường trong suốt thời gian qua và có thể ứng dụng những kiến thức đó vào trong thực tế. Nhóm thực hiện đề tài đã nghiên cứu và phát triển chương trình mô phỏng “Nhận Dạng Mã Vạch”. Đề tài “Nhận Dạng Mã Vạch” chính là mục tiêu mà nhóm thực hiện đề tài muốn hướng tới. Qua đây sẽ giúp cho mọi người nắm bắt một phần nào đó về quá trình xử lý ảnh sử dụng phần mềm matlabcho việc nhận dạng mã vạch. 1.3 Giới thiệu đề tài Hiện nay, với sự phát triển của khoa học công nghệ đã kéo theo sự phát triển của các lĩnh vực liên quan giúp cải thiện môi trường sống của con người, giảm tải áp lực trong công việc. Các lĩnh vực này được ứng dụng rộng rãi trong trong đời sống như quản lý hàng hóa, vận chuyển, truyền thông Và đặc biệt, trong viễn thông ngày nay nó là một thành phần quan trọng giúp cho việc truyền tải và bảo mật thông tin một cách chính xác và hiệu quả. Để đáp ứng yêu cầu đó thì việc ứng dụng mã vạch vào quản lý sản phẩm cũng như nhiều lĩnh vực khác là điều cấp thiết giúp con người giảm tải hơn trong quá trình quản lý, có được thông tin chính xác do thu thập các dữ liệu tự động để ra các quyết định chính xác trong quản lí, sản xuất và kinh doanh, tiết kiệm được các chi phí không cần thiết trong khâu hậu cần và bán hàng. Sử dụng ít nhân lực và tốn ít thời gian trong khâu kiểm kê tính toán, có điều kiện để hội nhập thương mại toàn cầu và quảng bá thương hiệu. Khi mã vạch được sử dụng rộng rãi như vậy, đặt ra Chương 1: Giới thiệu
  17. Nhận dạng mã vạch Trang 3 phải có công cụ để đọc để quản lý nó. Nhằm thỏa yêu cầu đó. Nhóm thực hiện đề tài đã nghiên cứu và phát triển mô hình mô phỏng để tài “Nhận dạng mã vạch”. 1.4 Mục tiêu của đề tài Đồ án nghiên cứu việc nhận dạng và đọc mã vạch theo hai hướng: - Hình ảnh chứa mã vạch là ảnh tĩnh, có trong máy tính,ta tiến hành cắt mã vạch và nhận diện. - Hình ảnh cần xử lý sẽ được chụp từ webcam giao tiếp với máy tính và xử lý để đọc mã vạch. Mục tiêu của đề tài: nghiên cứu, phát triển, thực hiện các phương pháp sử dụng phép toán hình thái và biến đổi Radon ứng dụng vào phát hiện và đọc mã vạch. 1.5 Ý nghĩa của đề tài Đề tài được xây dựng dựa trên nhu cầu thực tiễn của xã hội. Thuận lợi trong việc quản lý sản phẩm của nhà sản xuất được nhanh chóng, hiệu quả. Sử dụng rộng rãi trong quản lý sản phẩm tại các siêu thị, trường học, bệnh viện 1.6 Giới hạn của đề tài - Mô hình sử dụng làm đề tài chỉ mang tính chất thí nghiệm sao cho phù hợp với người nghiên cứu, đặc biệt là sinh viên trong các trường đại học. - Camera sử dụng trong đề tài có độ phân giải chưa cao và tốc độ đáp ứng chưa nhanh như các camera chuyên biệt được sử dụng, nên đôi lúc ảnh lấy vào chất lượng không tốt, gây khó khăn cho quá trình xử lý. - Độ sáng ổn định trong quá trình chụp từ camera quyết định rất lớn đến quá trình xử lý, mà việc điều chỉnh độ sáng không dễ thực hiện. - Khoảng cách từ camera đến vật chứa mã vạch cần thích hợp mới có thể nhận diện được với camera tích hợp tự động lấy nét chưa tốt. - Thuật toán xử lý ảnh dùng trong đề tài sử dụng các phương pháp như: điều chỉnh mức xám của ảnh, chọn phân vùng ảnh, tách biên ảnh, xác định mức ngưỡng màu của ảnh. Các phương pháp cao cấp hơn như: lấy mẫu, lưỡng tử hóa Chương 1: Giới thiệu
  18. Nhận dạng mã vạch Trang 4 ảnh, sử dụng lược đồ xám, xử lý điểm ảnh bằng ánh xạ biến đổi Fourier, tách biên, nằm ngoài phạm vi của đề tài. 1.7 Nội dung của đề tài Với khuôn khổ phạm vi nghiên cứu đề tài, đồ án này được chia thành năm chương với nội dung chủ yếu mỗi chương như sau: Chƣơng 1: Giới thiệu Giới thiệu tổng quát về đề tài, lý do chọn đề tài, các hướng thực hiện nhiệm vụ đề tài nhằm tạo cái nhìn tổng quan về nội dung nghiên cứu của đề tài. Chƣơng 2: Lý thuyết về mã vạch Trình bày về mã vạch, các loại mã vạch được sử dụng hiện nay cũng như nội dung của mỗi thông số chứa trong mã vạch được mã hóa. Chƣơng 3:Cơ sở lý thuyết về xử lý ảnh Giới thiệu tổng quát về xử lý ảnh như các bước cần thiết và các vấn đề cơ bản về xử lý ảnh cần thực hiện. Chƣơng 4: Nhận dạng mã vạch Trình bày cách xử lý ảnh chứa mã vạch bị xoay về phương ngang. Sau đó tiến hành xử lý cắt mã vạch ra khỏi ảnh ban đầu, tiến hành đọc mã vạch đã mã hóa từ ảnh cắt được. Cuối cùng là kết quả thực hiện. Chƣơng 5: Kết luận và hƣớng ph t t iển đề tài Kết luận, ưu điểm, khuyết điểm của đề tài và đưa ra hướng phát triển cho các đồ án sau. Chương 1: Giới thiệu
  19. Nhận dạng mã vạch Trang 5 Chƣơng 2 MÃ VẠCH Mã vạch ( arcode) theo định nghĩa là phương pháp lưu trữ và truyền tải thông tin bằng một loại ký hiệu gọi là ký mã vạch ( arcode symbology). Ký 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ý 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. 2.1 Phân loại mã vạch Thực ra mã vạch gồm nhiều chủng lọai khác nhau. Tùy theo dung lượng thông tin, dạng thức thông tin được mã hóa cũng như mục đích sử dụng mà người ta chia ra làm rất nhiều lọai, 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 128-A, Code 128-B, Code 128-C, 2.1.1 Mã vạch 1D Bảng 2.1: 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 Ngành nghề sử dụng Lý do Cần mã số chứ không cần mã Công nghiệp thực phẩm chữ UPC Các nhà buôn bán lẻ Mật độ cao, đáng tin cậy. Sử dụng ở Bắc Mỹ và Canada Cần mã kiểm lỗi Giống như UPC EAN Sử dụng cho các nước khác không Giống như trên thuộc Bắc Mỹ Chương 2: Mã vạch
  20. Nhận dạng mã vạch Trang 6 Bộ Quốc phòng Cần mã hoá cả chữ lẫn số Ngành y tế Dễ in. Code 39 Công nghiệp nhôm Rất an toàn, không có mã kiểm Các nhà xuất bản sách định kỳ lỗi Các cơ quan hành chánh Phân phối, lưu kho Các sản phẩm không phải là Interleaved Dễin. thựcphẩm 2of 5 Kích thước nhỏ gọn Các nhà sản xuất, nhà buôn bán lẻ. Hiệp hội vận chuyển Container Ngân hàng máu Thư viện Rất an toàn. Codabar Thư tín chuyển phát nhanh trong Dày dặt nước. Công nghiệp xử lý Film ảnh Công nghiệp chế tạo Code 128 Cần dung lượng 128 ký tự Vận chuyển Container Để thấy rõ hơn mã vạch thì sau đây nhóm thực hiện đề tài sẽ trình bày chi tiết một số mã vạch gồm: UPC, EAN, CODE 39 và INTERLEAVED 2 OF 5. 2.1.1.1 UPC (Universal Product Code) 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ẽ. Chương 2: Mã vạch
  21. Nhận dạng mã vạch Trang 7 Hình 2.1: Mã UPC UPC được phát triển thành nhiều phiên bản (version) 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ã UPC vẫn còn đang sử dụng ở Hoa Kỳ và ắc Mỹ. Ví Dụ: Các mặt hàng bán theo trọng lượng, chẳng hạn như thịt hay hoa quả tươi hoặc rau xanh, được gắn số UPC-A bởi cửa hàng nếu chúng được đóng gói ở đó. Trong trường hợp này, các số bên trái LLLLL là số của mặt hàng, và các số bên phải_RRRR hoặc là trọng lượng hoặc là giá của chúng, với số R đầu tiên xác định điều này. Tương tự, vé hay phiếu có mã trong LLLLL, giá trị được lấy ra từ RRRR, và giá trị này là phần trăm hay là giá trị bằng chữ được mã hóa trong số bên phải (R) đầu tiên. 2.1.1.2 EAN (European Article Number) EAN là bước phát triển kế tiếp của UPC. Về cách mã hóa nó cũng giống hệt như UPC nhưng về dung lượng nó gồm 13 ký số trong đó 2 hoặc 3 ký số đầu tiên là ký số “mốc”, dùng để biểu thị cho nước xuất xứ. Các ký số này chính là “mã quốc gia” của sản phẩm được cấp bởi Tổ chức EAN quốc tế. 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ố. Chương 2: Mã vạch
  22. S K L 0 0 2 1 5 4