Thiết kế mô hình bãi đỗ xe thông minh ứng dụng xử lý ảnh

85 109 0
Thiết kế mô hình bãi đỗ xe thông minh ứng dụng xử lý ảnh

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ MƠ HÌNH BÃI ĐỖ XE THƠNG MINH ỨNG DỤNG XỬ LÝ ẢNH Người hướng dẫn: Sinh viên thực hiện: Số thẻ sinh viên : Lớp: TS ĐẶNG PHƯỚC VINH LÊ HỮU NAM THÀNH VÕ QUANG 101130211 101130211 13CDT2 Đà Nẵng, 2018 TÓM TẮT ĐỒ ÁN TỐT NGHIỆP Tên đề tài : THIẾT KẾ MƠ HÌNH BÃI ĐỖ XE THƠNG MINH ỨNG DỤNG XỬ LÝ ẢNH Họ tên SV : Lê Hữu Nam Thành Mã SV : 101130216 Lớp : 13CDT2 Họ tên SV : Võ Quang Mã SV : 101130211 Lớp : 13CDT2 GV hướng dẫn : TS Đặng Phước Vinh GV duyệt : TS Võ Như Thành Nội dung làm bao gồm vấn đề sau: ➢ Nhu cầu thực tế đề tài Đồ án tốt nghiệp học phần bắt buộc sinh viên ngành Cơ điện tử nói riêng sinh viên khối ngành kĩ thuật nói chung Để thiết kế thành công cấu, cụm chi tiết máy hay máy hồn chỉnh địi hỏi sinh viên phải có hiểu biết nắm kiến thức lĩnh vực khí điện tử Đây điều kiện thuận lợi cho nhóm để ứng dụng kiến thức học vào thực tế Tại thành phố lớn Hà Nội, Hồ Chí Minh, Đà Nẵng, việc đáp ứng yêu cầu đất đai ngày khơng khả thi Do đó, yêu cầu thực tế cần có nhà đậu xe đại có hiệu suất sử dụng khơng gian tối đa, an tồn mang lại lợi ích cho xã hội, đề tài: “ Thiết kế mơ hình bãi đỗ xe thông minh ứng dụng xử lý ảnh ” chọn Dựa phân tích tối ưu đặc điểm kỹ thuật, công nghệ chế tạo, khả ứng dụng, mức độ khả thi xem xét đến kinh tế ➢ Phạm vi nghiên cứu đề tài tốt nghiệp: Trong đề tài này, nhóm thiết kế cấu cho máy, tìm hiểu phương pháp điều khiển để đưa phương án tối ưu nhất, nghiên cứu tính thiết thực sản phẩm đưa giải pháp phù hợp, từ đó: - Tính tốn thiết kế hệ truyền động - Thiết kế thi cơng mơ hình - Lập trình điều khiển kết nối với máy tính ➢ Nội dung đề tài thực : - Số trang thuyết minh: 46 - Số vẽ: 4A0 - Mơ hình: mơ hình bãi đỗ xe thông minh ứng dụng xử lý ảnh ➢ Kết đạt được: • Phần lý thuyết tìm hiểu: - Tổng quan bãi đỗ xe ô tô tự động, tính thiết thực cấp thiết đề tài - Các kiểu bãi đỗ xe ô tô tự động giới - Giới thiệu số truyền, lựa chọn phương án thiết kế cấu dẫn động cho mơ hình bãi đỗ xe tơ tự động - Tính tốn lựa chọn thành phần, truyền sử dụng mơ hình bãi đỗ xe tơ tự động - Thiết kế phận gá đặt - Giới thiệu thành phần module chức điều khiển động - Phần mềm Visual Studio với tảng Winform ngơn ngữ lập trình C# - Thuật toán xử lý ảnh kết hợp bảo mật thẻ từ RFID lưu trữ sở liệu • Đã lựa chọn thiết kế phần: - Lựa chọn cấu chấp hành - Thiết kế chế tạo thành cơng mơ hình bãi đỗ xe thơng minh ĐẠI HỌC ĐÀ NẴNG CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự - Hạnh phúc KHOA CƠ KHÍ NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên Số thẻ SV Lớp Lê Hữu Nam Thành 101130216 13CDT2 CƠ ĐIỆN TỬ Võ Quang 101130211 13CDT2 CƠ ĐIỆN TỬ STT Ngành Tên đề tài: THIẾT KẾ MƠ HÌNH BÃI ĐỖ XE THƠNG MINH ỨNG DỤNG XỬ LÝ ẢNH Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: Nội dung phần thuyết minh tính tốn: a Phần chung: STT Họ tên sinh viên Lê Hữu Nam Thành Nội dung - Tìm hiểu hệ thống bãi đỗ xe giới lựa chọn hệ thống phù hợp để thực đề tài Võ Quang b Phần riêng STT Họ tên sinh viên Lê Hữu Nam Thành Nội dung - Tính tốn sức bền cho trục, lập trình chương trình Visual, hồn thành thuyết minh Võ Quang - Xây dựng vẽ chế tạo mơ hình, lập trình điều khiển cấu chấp hành Các vẽ, đồ thị : STT Họ tên sinh viên Lê Hữu Nam Thành Võ Quang Nội dung - Bản vẽ lưu đồ thuật toán 1A0 - Bản vẽ Tổng thể 1A0 - Bản vẽ Cụm chi tiết 1A0 - Bản vẽ sơ đồ mạch sơ đồ khối chức 1A0 Họ tên người hướng dẫn: TS Đặng Phước Vinh Ngày giao nhiệm vụ đồ án: 01/02/2018 Ngày hoàn thành đồ án: 01/06/ 2018 Đà Nẵng, ngày Trưởng Bộ môn Cơ điện tử tháng năm 2018 Người hướng dẫn TS Đặng Phước Vinh LỜI NÓI ĐẦU Chúng em xin chân thành cảm ơn thầy khoa Cơ khí môn Cơ điện tử trường Đại học Bách khoa, Đại học Đà Nẵng tận tụy dạy dỗ, truyền đạt cho chúng em kiến thức quý báu năm học vừa qua để chúng em có kiến thức hoàn thành đề tài Chúng em xin chân thành cảm ơn thầy Đặng Phước Vinh tận tình hướng dẫn, bảo chúng em suốt thời gian nghiên cứu thực đề tài Xin chân thành cảm ơn bạn tập thể lớp 13CDT tham gia đóng góp ý kiến suốt trình thực để nhóm hồn thành tốt đề tài Mặc dù hướng dẫn nhiệt tình thầy Đặng Phước Vinh, cơng nghệ hạn chế, kinh nghiệm thiết kế chưa trau dồi nhiều, tài liệu phục vụ cho công việc thiết kế cịn q nên khơng tránh khỏi bỡ ngỡ sai sót Sau thời gian tháng làm đề tài nổ lực thân hướng dẫn thầy Đặng Phước Vinh, thầy cô giáo giúp đỡ bạn sinh viên khác khoa chúng em hoàn thành xong đồ án thời gian quy định Một lần cho phép chúng em gửi đến quý thầy bạn lịng biết ơn sâu Đà Nẵng, ngày tháng năm 2018 Nhóm sinh viên thực Lê Hữu Nam Thành i Võ Quang CAM ĐOAN Kính gửi: - Trường Đại học Bách khoa Đà Nẵng - Khoa Cơ Khí Chúng em xin cam đoan nội dung đồ án chép đồ án hay cơng trình có trước Mọi giúp đỡ cho việc thực đồ án cảm ơn, thơng tin trích dẫn đồ án ghi nguồn gốc rõ ràng phép cơng bố Nhóm sinh viên thực Lê Hữu Nam Thành ii Võ Quang MỤC LỤC Tóm tắt Nhiệm vụ đồ án Lời nói đầu cảm ơn ………………………………………………………………… i Lời cam đoan liêm học thuật …………………………………………………… ii Mục lục ……………………………………………………………………………… …iii Danh sách bảng biểu, hình vẽ sơ đồ……………………………………… v CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG BÃI ĐỖ XE THÔNG MINH 1.1 Đặt vấn đề tính cấp thiết đề tài 1.2 Mục đích nghiên cứu 1.3 Ý tưởng thiết kế mơ hình bãi đỗ xe tơ thơng ứng dụng xử lý ảnh 1.4 Các vấn đề cần giải 1.5 Phương hướng giải CHƯƠNG 2: TÍNH TỐN VÀ THIẾT KẾ PHẦN CƠ KHÍ 2.1 Chọn động cho cấu dẫn động 2.1.1 Phân tích loại động 2.1.2 Lựa chọn động 2.2 Tính thơng số truyền cho cấu dẫn hướng trục 2.2.1 Cụm cấu di chuyển ngang 2.2.2 Cụm cấu đưa xe vào 14 2.2.3 Cơ cấu nâng hạ xe 19 CHƯƠNG 3: TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 24 3.1 Sơ đồ nguyên lý mạch 24 3.2 Sơ đồ kết nối hệ thống 25 iii 3.3 Các linh kiện điện tử 25 3.3.1 Arduino Nano 25 3.3.2 Module A4988 27 3.3.3 Module IC LM2596 dòng 3A 28 3.3.4 Động bước 29 3.3.5 Thẻ từ RFID module RC522 30 3.4 Mơ hình thực tế 33 CHƯƠNG 4: XỬ LÝ ẢNH 34 4.1 Tổng quan xử lý ảnh 34 4.1.1 Khái niệm xử lý ảnh 34 4.1.2 Quá trình xử lý ảnh 34 4.1.3 Phạm vi ứng dụng xử lý ảnh 36 4.1.4 Một số khái niệm xử lý ảnh 36 4.2 Xử lý ảnh đề tài 38 4.2.1 Phần mềm ngơn ngữ lập trình 38 4.2.2 Quá trình xử lý ảnh đề tài 39 KẾT LUẬN …………………………………………………………………………… 43 TÀI LIỆU THAM KHẢO ………………………………………………………… …46 PHỤ LỤC iv DANH SÁCH CÁC BẢNG, HÌNH VẼ Bảng 3.1 : Chế độ hoạt động module A4988 28 …………………………………………………………………………………………… Hình 1.1: Thực trạng thiếu bãi đỗ xe ô tô thành phố Đà Nẵng Hình 1.2 :Bãi giữ xe ô tô dạng xoắn ốc Hong Kong Hình 1.3: Hệ thống bãi giữ xe tơ quay vịng Trung Quốc Hình 1.4: Bãi giữ xe tơ tự động dạng tịa nhà hình trụ Đức Hình 1.5 : Giải pháp bãi giữ xe ô tô xếp chồng Hàn Quốc Hình 2.1 : Thơng số hình học động bước Hình 2.2 : Động bước Hình 2.3 : Bộ truyền xích Hình 2.4 : Bộ truyền vít me đai ốc 10 Hình 2.5 : Bộ truyền đai 10 Hình 2.6 : Cấu tạo cấu di chuyển ngang 11 Hình 2.7 : Dây đai Pulley GT2 14 Hình 2.8 : Bộ truyền xích 15 Hình 2.9 : truyền bánh 15 Hình 2.10 : Bộ truyền đai 16 Hình 2.11 : Cấu tạo cấu di chuyển ngang 17 Hình 2.12 : Bộ truyền xích 20 Hình 2.13 : Bộ truyền vít me đai ốc 20 Hình 2.14 : Cấu tạo cấu nâng hạ 21 Hình 3.1 : Sơ đồ nguyên lý mạch 24 Hình 3.2 : Sơ đồ kết nối hệ thống 25 Hình 3.3 : Board mạch Arduino Nano 25 Hình 3.4 : Module điều khiển động bước A4988 27 Hình 3.5 : Sơ đồ kết nối module A4988 28 Hình 3.6 : Động bước 29 Hình 3.7 : Sơ đồ dây hãng Oriental 30 Hình 3.8 : Nguyên lý hoạt động RFID 31 Hình 3.9 : Mơ hình thực tế bãi đỗ xe thông minh ứng dụng xử lý ảnh 33 v MessageBox.Show(ex.Message); } dataGridView1.Columns[1].HeaderText = "Biển số"; dataGridView1.Columns[2].HeaderText = "Ngày gửi"; dataGridView1.Columns[3].HeaderText = "Giờ gửi"; dataGridView1.Columns[4].HeaderText = "Tên khách hàng"; dataGridView1.Columns[5].HeaderText = "Ghi chú"; dataGridView1.Columns[6].HeaderText = "Ngày lấy"; dataGridView1.Columns[7].HeaderText = "Giờ lấy"; dataGridView1.Columns[8].HeaderText = "Vị Trí"; dataGridView1.Columns[4].Width = 150; dataGridView1.Columns[0].Width = 50; } private void checkmaudong() // kiểm tra xem xe lấy tơ màu vàng lên { try { for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { string Ngaygio = dataGridView1.Rows[i].Cells[6].FormattedValue.ToString(); if (Ngaygio != "") { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void checkcombobox() // thị danh sách leên combobox { try { // comboBox1.Items.Clear(); con.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = con; cmd.CommandType = CommandType.Text; string query = " select * from Table1 "; cmd.CommandText = query; OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { comboBox1.Items.Add(reader["Tenkhachhang"].ToString()); comboBox4.Items.Add(reader["BienSo"].ToString()); comboBox5.Items.Add(reader["ViTri"].ToString()); } con.Close(); loaddatabase(); } catch (Exception ex) { Phụ lục 14 MessageBox.Show("Error " + ex); } } private void chupanhvanhandien() // chụp ảnh nhận diện { Bitmap img; img = (Bitmap)PIC_1.Image.Clone(); PlateImagesList.Clear(); PlateTextList.Clear(); panel1.Controls.Clear(); pictureBox2.Image = null; pictureBox1.Image = img; pictureBox1.Update(); clsBSoft.FindLicensePlate(img, pictureBox1, imageBox1, PlateImagesList, panel1); //PIC_2.Image = (Bitmap)PIC_1.Image.Clone(); //string filename = @"E:\luubienso\" + DateTime.Now.ToString("dd_mm_yyyy hh_mm_ss tt") + ".bmp"; //PIC_2.Image.Save(filename, ImageFormat.Bmp); //string startupPath = @"E:\luubienso\" + DateTime.Now.ToString("dd_mm_yyyy hh_mm_ss tt") + ".bmp"; //ProcessImage(startupPath); if (PlateImagesList.Count != 0) { Image src = new Image(PlateImagesList[0].ToBitmap()); Bitmap grayframe; Bitmap color; int c = clsBSoft.IdentifyContours(src.ToBitmap(), 50, false, out grayframe, out color, out listRect); pictureBox1.Image = color; pictureBox2.Image = grayframe; textBox2.Text = c.ToString(); Image dst = new Image(grayframe); grayframe = dst.ToBitmap(); string zz = ""; // lọc xếp số List bmp = new List(); List erode = new List(); List up = new List(); List dow = new List(); int up_y = 0, dow_y = 0; bool flag_up = false; int di = 0; if (listRect == null) return; for (int i = 0; i < listRect.Count; i++) { Bitmap ch = grayframe.Clone(listRect[i], grayframe.PixelFormat); int cou = 0; full_tesseract.Clear(); full_tesseract.ClearAdaptiveClassifier(); string temp = full_tesseract.Apply(ch); while (temp.Length > 3) { Image temp2 = new Image(ch); temp2 = temp2.Erode(2); ch = temp2.ToBitmap(); full_tesseract.Clear(); full_tesseract.ClearAdaptiveClassifier(); Phụ lục 15 temp = full_tesseract.Apply(ch); cou++; if (cou > 10) { listRect.RemoveAt(i); i ; di = 0; break; } di = cou; } } for (int i = 0; i < listRect.Count; i++) { for (int j = i; j < listRect.Count; j++) { if (listRect[i].Y > listRect[j].Y + 100) { flag_up = true; up_y = listRect[j].Y; dow_y = listRect[i].Y; break; } else if (listRect[j].Y > listRect[i].Y + 100) { flag_up = true; up_y = listRect[i].Y; dow_y = listRect[j].Y; break; } if (flag_up == true) break; } } for (int i = 0; i < listRect.Count; i++) { if (listRect[i].Y < up_y + 50 && listRect[i].Y > up_y - 50) { up.Add(listRect[i]); } else if (listRect[i].Y < dow_y + 50 && listRect[i].Y > dow_y - 50) { dow.Add(listRect[i]); } } if (flag_up == false) dow = listRect; for (int i = 0; i < up.Count; i++) { for (int j = i; j < up.Count; j++) { if (up[i].X > up[j].X) { Rectangle w = up[i]; up[i] = up[j]; Phụ lục 16 up[j] = w; } } } for (int i = 0; i < dow.Count; i++) { for (int j = i; j < dow.Count; j++) { if (dow[i].X > dow[j].X) { Rectangle w = dow[i]; dow[i] = dow[j]; dow[j] = w; } } } int x = 0; int c_x = 0; for (int i = 0; i < up.Count; i++) { Bitmap ch = grayframe.Clone(up[i], grayframe.PixelFormat); Bitmap o = ch; string temp; if (i < 2) { temp = clsBSoft.Ocr(ch, false, full_tesseract, num_tesseract, ch_tesseract, true); // nhan dien so } else { temp = clsBSoft.Ocr(ch, false, full_tesseract, num_tesseract, ch_tesseract, false); // nhan dien chu } zz += temp; box[i].Location = new System.Drawing.Point(x + i * 50, 0); box[i].Size = new Size(50, 100); box[i].SizeMode = PictureBoxSizeMode.StretchImage; box[i].Image = ch; panel1.Controls.Add(box[i]); c_x++; } zz += "\r\n"; for (int i = 0; i < dow.Count; i++) { Bitmap ch = grayframe.Clone(dow[i], grayframe.PixelFormat); string temp = clsBSoft.Ocr(ch, false, full_tesseract, num_tesseract, ch_tesseract, true); // nhan dien so zz += temp; box[i + c_x].Location = new System.Drawing.Point(x + i * 50, 100); box[i + c_x].Size = new Size(50, 100); box[i + c_x].SizeMode = PictureBoxSizeMode.StretchImage; box[i + c_x].Image = ch; panel1.Controls.Add(box[i + c_x]); } textBox1.Text = zz; } Phụ lục 17 } public void ProcessImage(string urlImage) { PlateImagesList.Clear(); PlateTextList.Clear(); panel1.Controls.Clear(); Bitmap img = new Bitmap(urlImage); pictureBox2.Image = null; pictureBox1.Image = img; pictureBox1.Update(); clsBSoft.FindLicensePlate(img, pictureBox1, imageBox1, PlateImagesList, panel1); } private double CalculateSimilarity(string source, string target) { if ((source == null) || (target == null)) return 0.0; if ((source.Length == 0) || (target.Length == 0)) return 0.0; if (source == target) return 1.0; int stepsToSame = ComputeLevenshteinDistance(source, target); return (1.0 - ((double)stepsToSame / (double)Math.Max(source.Length, target.Length))); } private int ComputeLevenshteinDistance(string source, string target) { if ((source == null) || (target == null)) return 0; if ((source.Length == 0) || (target.Length == 0)) return 0; if (source == target) return source.Length; int sourceWordCount = source.Length; int targetWordCount = target.Length; // Step if (sourceWordCount == 0) return targetWordCount; if (targetWordCount == 0) return sourceWordCount; int[,] distance = new int[sourceWordCount + 1, targetWordCount + 1]; // Step for (int i = 0; i

Ngày đăng: 15/12/2020, 22:17

Tài liệu cùng người dùng

Tài liệu liên quan