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 4 0
  • Loading ...
1/66 trang

Thông tin tài liệu

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

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHỐ LUẬN TỐT NGHIỆP THIẾT KẾ CHẾ TẠO HÌNH NHẬN DẠNG VẠCH ỨNG DỤNG CÔNG NGHỆ XỬ ẢNH Họ tên sinh viên: Hà Tấn Đắc Trần Thành Tuân Ngành: CƠ ĐIỆN TỬ Niên khoá: 2007 - 2011 Tháng năm 2011 THIẾT KẾ CHẾ TẠO HÌNH NHẬN DẠNG VẠCH ỨNG DỤNG CÔNG NGHỆ XỬ ẢNH Tác giả HÀ TẤN ĐẮC TRẦN THÀNH TUÂN Khóa luận đệ trình để đáp ứng yêu cầu cấp 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 năm 2011 i LỜI CẢM ƠN Sau gần năm học tập rèn luyện, kiến thức Thầy/ Cơ 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 cung cấp hành trang hữu ích quý báu để giúp chúng em vững bước tự tin đường nghiệp trước mắt Em xin chân thành cảm ơn tậm tâm, lòng nhiệt tình khơng ngại khó khăn vất vả Thầy cô dành cho sinh viên chúng em suốt quãng thời gian vừa qua Đặc biệt chúng em biết ơn ThS Nguyễn Lê Tường hỗ trợ tận tình giúp đỡ chúng em suốt trình chúng em thực đề tài Chúng em muốn gửi lời cảm ơn chân thành đến Quý Thầy/ Cô Hội đồng giành thời gian quý báu để nhận xét đóng góp ý kiến để khóa luận chúng em thêm hồ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 thành công đến thầy cô TP Hồ Chí Minh, ngày 30 tháng 05 năm 2011 Sinh viên thực Hà Tấn Đắc Trần Thành Tuân ii TÓM TẮT Đề tài nghiên cứu “Thiết kế chế tạo hình nhận dạng vạch ứng dụng cơng nghệ xử ảnh” tiến hành ĐẠI HỌC NÔNG LÂM TP.HCM, thời gian từ 08/03/2011 đến 30/05/2011 Mục đích đề tài tạo cơng cụ viết ngôn ngữ C# kết hợp với thư viện nguồn mở EmguCV để nhận dạng vạch xuất sở liệu công nghệ xử ảnh Các vạch thiết kế sẵn dán lên thẻ Webcam lắp hộp đen có chiếu sáng chụp hình vạch thẻ đưa vào Ảnh chụp lưu vào nhớ RAM chuyển thành ảnh xám Ảnh nhị phân chuyển từ ảnh xám xử để tính diện tích vạch hiển thị giá trị tương ứng vạch Giá trị vạch so sánh với sở liệu có sẵn Nếu giá trị vạch thẻ giá trị vạch sở liệu khớp chương trình hiển thị thơng tin tương ứng với vạch iii 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 chọn đề tài 1.2 Nhiệm vụ đề tài 1.3 Mục đích đề tài 1.4 Phương pháp nghiên cứu CHƯƠNG 2: TỔNG QUAN CÁC VẤN ĐỀ LIÊN QUAN 2.1 Xử ảnh vấn đề xử ảnh 2.1.1 Xử ảnh gì? 2.1.2 Các khái niệm xử ảnh 2.1.3 Thu nhận ảnh 2.1.4 Ứng dụng xử ảnh 2.2 Tổng quan vạch 2.2.1 Lịch sử 2.2.2 Các dạng vạch 11 2.2.3 Các loại vạch thông dụng 14 2.2.4 Ứng dụng vạch 16 2.3 Tổng quan máy đọc vạch 17 2.3.1 Barcode Scanner 17 2.3.2 Cấu tạo máy quét barcode quang học 17 2.3.3 Nguyên hoạt động 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 2.6.1 Chiếu sáng trực tiếp vào đối tượng 28 2.6.2 Chiếu sáng khuếch tán trước đối tượng 28 iv 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ử ảnh nhận dạng vạch 31 2.7.1 Phần mềm nước 31 2.7.2 Phần mềm nước 32 CHƯƠNG 3: VẬT LIỆU PHƯƠNG PHÁP NGHIÊN CỨU 3.1 Vật liệu phương tiện 35 3.2 Phương pháp 35 3.2.1 Nghiên cứu thuyết 35 3.2.2 Phương pháp thực 36 CHƯƠNG 4: KẾT QUẢ THẢO LUẬN 4.1 Hộp lấy ảnh thẻ 37 4.1.1 Hộp lấy ảnh 37 4.1.2 Thẻ vạch 40 4.2 Chương trình 42 4.2.1 Giao diện chương trình 42 4.2.2 Cơ sở liệu 42 4.2.3 Lưu đồ giải thuật chương trình 43 4.3 Kết khảo nghiệm 47 CHƯƠNG 5: KẾT LUẬN ĐỀ NGHỊ 5.1 Kết đạt 53 5.2 Hướng phát triển đề tài 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 v 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 vi DANH SÁCH CÁC HÌNH Chương Hình 2.1 – Quá trình xử ảnh Hình 2.2 – Các bước hệ thống xử ảnh Hình 2.3 – số EAN-13 14 Hình 2.4 – Ví dụ code 39 15 Hình 2.5 – Cấu tạo code 128 15 Hình 2.6 – vạch theo code EAN-13 16 Hình 2.7 – Tròng CCD 17 Hình 2.8 – Máy đọc vạch dạng cầm tay 22 Hình 2.9 – Máy đọc vạch dạng để bàn 22 Hình 2.10 – Máy quét 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 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 vạch Barcode 12.0 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 Hình 3.1 – Webcam Colorvis 1009 35 vii Chương Hình 4.1 – Hộp lấy ảnh thiết kế Pro/E 38 Hình 4.2 – hình thực tế 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 vạch với font barcode 40 Hình 4.6 – vạch 41 Hình 4.7 – Thẻ có dán vạch 41 Hình 4.8 – Giao diện chương trình nhận dạng vạch 42 Hình 4.9 – Cơ sở liệu tạo Access 42 Hình 4.10 – Sơ đồ tổng quát 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 vạch 45 Hình 4.13 – Giải thuật nhận dạng vạch 46 Hình 4.14 – Kết khảo nghiệm với vạch có diện tích lớn 47 Hình 4.15 – Kết khảo nghiệm với vạch có diện tích nhỏ 48 Hình 4.16 – Kết khảo nghiệm với vạch ngẫu nhiên (02007) 49 Hình 4.17 – Kết khảo nghiệm với vạch ngẫu nhiên (92154) 50 Hình 4.18 – Kết khảo nghiệm với không hợp lệ 51 Hình 4.19 – Kết khảo nghiệm với trường hợp khơng có thẻ 52 Hình 4.20 – Kết khảo nghiệm với trường hợp bị kẹt thẻ 50 viii Chương MỞ ĐẦU 1.1 chọn đề tài Như biết, vạch công nghệ nhận dạng thu thập liệu tự động, đưa vào áp dụng đa ngành công nghiệp Trên giới, vạch đưa vào áp dụng đại trà từ 30 năm ngành khác như: bán lẻ, quốc phòng, y tế, giao thơng vận tải, thể thao truy tìm nguồn gốc, … Để ứng dụng ưu việt vạch vào thưc tế thiết bị đọc vach máy đọc vạch đời ngày trở nên phổ biến, giá thành máy đọc thường cao sử dụng cho mục đích đọc vạch Trong điều kiện kinh tế phát triển Việt Nam nay, việc tạo sản phẩm có giá thành rẻ để sử dụng lĩnh vực điều cần thiết Như ta biết công nghệ xử ảnh phổ biến công nghiệp, ứng dụng vào thực tế sản xuất với camera thông dụng đủ tốt không đắt tiền viết chương trình nhận dạng camera tiết kiệm giá thành mua máy đọc vạch Hơn với camera sử dụng mục đích khác ngồi việc đọc vạch Đó ưu điểm lớn xử ảnh cơng nghiệp Vì vậy, chúng em muốn vào nghiên cứu viết chương trình nhận dạng vạch ứng dụng công nghệ xử ảnh, chọn đề tài: “Thiết kế chế tạo hình nhận dạng vạch ứng dụng cơng nghệ xử ảnh” 1.2 Nhiệm vụ đề tài  Thiết kế vạch  Viết chương trình nhận dạng vạch ngôn ngữ C#  Thiết kế thi cơng hình nhận dạng vạchTạo sở liệu 4.2.3 Lưu đồ giải thuật chương trình Begin Lấy ảnh từ webcam Chuyển sang ảnh xám Chuyển sang ảnh nhị phân (1) Tính diện tích vạch (2) Nhận dạng (3) Hiển thị liệu người dùng End Hình 4.10 – Sơ đồ tổng quát chương trình 43 a = 255: trắng a = 0: đen 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 vạch 45 Hinh 4.13 – Giải thuật nhận dạng vạch 46 4.3 Kết khảo nghiệm  Khảo nghiệm với vạch có diện tích lớn  vạch thẻ  Giao diện hiển thị sau quét thẻ  So sánh kết hiển thị với sở liệu Hình 4.14 – Kết kháo nghiệm với vạch có diện tích lớn 47  Khảo nghiệm với vạch có diện tích nhỏ  vạch thẻ  Giao diện sau quét thẻ  So sánh kết hiển thị với sở liệu Hình 4.15 – Kết khảo nghiệm với vạch có diện tích nhỏ 48  Khảo nghiệm với vạch ngẫu nhiên  vạch thẻ  Giao diện sau quét thẻ  So sánh kết hiển thị với sở liệu Hình 4.16 – Khảo nghiệm với vạch ngẫu nhiên (02007) 49  vạch thẻ  Giao diện sau quét thẻ  So sánh kết hiển thị với sở liệu Hình 4.17 – Kết khảo nghiệm với vạch ngẫu nhiên (92154) 50  Khảo nghiệm với trường hợp khơng hợp lệ (khơng có sở liệu): với trường hợp này, chương trình đọc không xuất liệu  vạch thẻ  Giao diện sau quét thẻ Hình 4.18 – Kết khảo nghiệm với không hợp lệ 51  Khảo nghiệm với trường hợp khơng có thẻ Hình 4.19 – Kết khảo nghiệm với trường hợp khơng có thẻ  Khảo nghiệm với trường hợp bị kẹt thẻ: trường hợp tương tự trường hợp thẻ khơng hợp lệ Hình 4.20 – Kết khảo nghiệm với trường hợp bị kẹt thẻ 52 Chương KẾT LUẬN ĐỀ NGHỊ 5.1 Kết đạt - Đã chế tạo hộp lấy ảnh với cấu nhận nhả thẻ - Đã hồn thành chương trình nhận dạng vạch - Đã kết nối chương trình với sở liệu - Đã tạo giao diện xử ảnh hiển thị sỏ liệu 5.2 Hướng phát triển đề tài - Ảnh thu thường bị biến dạng thiết bị quang học điện tử Vì cần bổ sung giải thuật nắn chỉnh biến dạng để chương trình nhận dạng xác - Nghiên cứu phương pháp lọc nhiễu nâng cao chất lượng ảnh - Nghiên cứu ứng dụng C# giao tiếp PC với vi điều khiển - Thiết kế cấu nhận nhả thẻ tự động 53 TÀI LIỆU THAM KHẢO  Tài liệu tham khảo Tiếng Việt [1] Lim S.J., 2001, Giáo trình xử ả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 [2] TS.Đỗ Năng Tồn & TS.Phạm Việt Bình, Xử ảnh, Nhà xuất Đại học Thái Nguyên, Thái Nguyên, tháng 11 năm 2007 [3] Nguyễn Đỗ Anh Khoa, “Hướng dẫn học C# video” < http://congdongso.com/threads/4444-video-day-c-cua-thay-nguyen-do-anhkhoa.html?s=df139ab999bdb85e47bd6f2818f07961> [4] Trịnh Hoài Thanh, “Cắt ảnh C#” < http://forums.congdongcviet.com/showthread.php?t=15256 > [5] http://www.dientuvietnam.net/forums [6] http://vi.wikipedia.org/wiki [7] “Xử ảnh C#”, ngày 17 tháng năm 2009 Truy cập ngày 20 tháng 03 năm 2011  Tài liệu tham khảo Tiếng nước [1] Benjamin Liedblad, “Reading Barcodes from an Image”, 25 March 2004 < http://www.codeproject.com/KB/graphics/barcodeImaging.aspx> [2] http://www.emgu.com 54 PHỤ LỤC  Các đoạn code sử dụng chương trình - Code lấy ảnh từ webcam chuyển sang dạng byte using Emgu.CV; using Emgu.Util; using Emgu.CV.Structure; using Emgu.CV.CvEnum; Capture capture = new Capture(1); //chup hinh Image nextFrame = capture.QueryFrame(); - Code chuyển sang ảnh nhị phân Byte band = 125; for (int counter = 0; counter1 < rgbValues1.Length; counter++) { if (rgbValues1[counter1] >= band) { rgbValues1[counter1] = 255; } else { rgbValues1[counter1] = 0; } } - Code tính diện tích vạch for (int counter1 = 0; counter1 < rgbValues1.Length; counter1 ++) { if (rgbValues1[counter1] = 0) { b = b + 1; } else { rgbValues1[counter1] = 0; 55 b = b; } } - Code so sánh xuất giá trị vạch if (b1 > 1900) d1 = 9; else if (b1 < 250) d1 = 0; else if (b1 > 250 & b1 < 500) d1 = 1; else if (b1 > 550 & b1 < 750) d1 = 2; else if (b1 > 750 & b1 < 950) d1 = 3; else if (b1 > 950 & b1 < 1100) d1 = 4; else if (b1 > 1100 & b1 < 1350) d1 = 5; else if (b1 > 1350 & b1 < 1550) d1 = 6; else if (b1 > 1600 & b1 < 1850) d1 = 7; else d1 = 8; - Code kết nối với sở liệu using System.Data.OleDb; string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Database.accdb;"; OleDbConnection conn = new OleDbConnection(connectionString); conn.Open(); OleDbCommand cmd = new OleDbCommand("select * from Person where ID='" + ID + "'", conn); OleDbDataReader reader = cmd.ExecuteReader(); if(reader.HasRows) while (reader.Read()) { txtName.Text = (string)reader["FullName"]; 56 txtEmail.Text = (string)reader["Email"]; txtcha.Text = (string)reader["cha"]; //dateTimePicker1.Value = (DateTime)reader["DOB"]; txtDOB.Text = (string)reader["DOB"]; //int cp = (int) reader["CP"]; //txtCP.Text = cp.ToString(); txtMSSV.Text = (string)reader["MSSV"]; txtDTB.Text = (string)reader["DTB"]; } 57 ... đ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 cung cấp hành trang hữu ích quý báu để giúp chúng em vững bước tự tin đường nghiệp trước mắt Em xin chân thành... giá trị mã vạch sở liệu khớp chương trình hiển thị thơng tin tương ứng với mã vạch iii 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... THAM KHẢO 54 PHỤ LỤC 55 v DANH SÁCH CHỮ VIẾT TẮT  ASCII – American Standard Code for Information Interchange  CCD – Charge Coupled Device  CMOS – Complementary Metal-Oxide-Semiconductor
- Xem thêm -

Xem thêm: 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 , 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

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay