Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
4,61 MB
Nội dung
BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE LĂN TỰ HÀNH TRONG NHÀ DÙNG CAMERA 3D GVHD: ThS Ngô Bá Việt SVTH: Huỳnh Tấn Cường MSSV: 14141028 Tp Hồ Chí Minh - 12/2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE LĂN TỰ HÀNH TRONG NHÀ DÙNG CAMERA 3D GVHD: ThS Ngô Bá Việt SVTH: Huỳnh Tấn Cường MSSV: 14141028 Tp Hồ Chí Minh - 12/2019 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 16 tháng 12 năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Huỳnh Tấn Cường Kỹ thuật Điện - Điện tử MSSV: 14141028 Mã ngành: 01 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: 14141DT1A I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE LĂN TỰ HÀNH TRONG NHÀ DÙNG CAMERA 3D II NHIỆM VỤ Các số liệu ban đầu: Các tài liệu Python thư viện OpenCV,pyrealsense, Giáo trình Xử lý ảnh Các tài liệu Arduino thư viện Arduino Các ví dụ nhận dạng hình học bản,truyền nhận liệu qua bluetooth Nội dung thực hiện: Tìm hiểu phương pháp nhận dạng Tổng quan xử lý ảnh Tìm hiểu Camera 3D, thiết bị cơng suất Module liên quan Thi cơng mơ hình Viết chương trình Python Arduino IDE Hồn thành mơ hình Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 26/08/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/12/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày 16 tháng 12 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Huỳnh Tấn Cường Lớp: 14141DT1A - MSSV: 14141028 Tên đề tài: Thiết kế thi công mơ hình xe lăn tự hành nhà dùng camera 3D Tuần/ngày Nội dung Xác nhận GVHD 16-20/9 Chọn đề tài 21-25/9 Viết đề cương chi tiết 26/3-05/10 Tìm hiểu phương pháp nhận dạng hình Tìm hiểu truyền nhận liệu khơng dây 06/-09/10 Tìm hiểu module cơng suất động Tìm hiểu module truyền liệu 10-17/10 Tìm hiểu camera 3D 18-21/10 Tìm hiểu thuật tốn tính khoảng cách 22-28/10 Tìm hiểu Arduino 29/5-04/11 Tìm hiểu python 05-06/11 Thực viết code python,Arduino ubuntu 16.04 07-08/11 Làm mơ hình chạy thử 09-30/11 Hồn thành mơ hình 1-15/12 Viết báo cáo GV HƯỚNG DẪN ThS Ngô Bá Việt LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Huỳnh Tấn Cường LỜI CẢM ƠN Đầu tiên xin cám ơn chân thành tới Thầy Ngơ Bá Việt, Thầy tận tình hướng dẫn tơi để hồn thành tốt đề tài Tơi xin gửi lời chân thành cảm ơn thầy cô Khoa Điện-Điện Tử tạo điều kiện tốt cho tơi hồn thành đề tài Những kiến thức bổ ích mà Thầy Cơ dạy, áp dụng vào đề tài Đồ Án Tốt Nghiệp nhiều, từ kiến thức nhỏ nhặt học lớn Một lần xin gửi lời cảm ơn đến tất Thầy Cơ, khơng có Thầy Cơ tơi khó hồn thành đề tài Tiếp theo tơi xin cảm ơn tới Anh, Chị khóa bạn sinh viên tạo điều kiện giúp đỡ, từ tài liệu liên quan tới đề tài kinh nghiệm sống thực tế Nhờ họ mà phát triển Tơi gửi lời đồng cảm ơn đến bạn lớp 14141DT1A chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài, lớp học có nhiều kí ức thời sinh viên Cuối gửi lời cảm ơn đến Cha, Mẹ khơng có hai đấng sinh thành ngày hơm khơng có diện để thực việc muốn, họ tạo điều kiện để giúp hướng tới tương lai tốt đẹp Một lần cuối xin chân thành cảm ơn! Người thực đề tài Huỳnh Tấn Cường MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan iv Lời cảm ơn v Mục lục vi Liệt kê hình vẽ vii Liệt kê bảng vẽ viii Tóm tắt ix LIỆT KÊ HÌNH VẼ 12 LIỆT KÊ BẢNG 14 CHƯƠNG 1: TỔNG QUAN 16 1.1 ĐẶT VẤN ĐỀ 16 1.2 MỤC TIÊU 17 1.3 NỘI DUNG NGHIÊN CỨU 17 1.4 GIỚI HẠN 18 1.5 BỐ CỤC 18 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 19 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN 19 2.1.1 Giới thiệu xử lý ảnh 19 2.1.2 Những kiến thức xử lý ảnh 20 2.1.3 Phương pháp nhận dạng vật mốc 21 2.2 TRUYỀN DỮ LIỆU BLUETOOTH 21 2.2.1 Giới thiệu 21 2.2.2 Ứng dụng Bluetooth 22 2.2.3 Ưu nhược điểm công nghệ Bluetooth 23 2.3 NGÔN NGỮ PYTHON 23 2.3.1 Giới thiệu 23 2.3.3 Ưu điểm nhược điểm Python 25 2.4 ARDUINO 25 2.4.1 Giới thiệu 25 2.4.2 Ứng dụng Arduino 26 2.4.3 Arduino IDE 26 2.5 GIỚI THIỆU PHẦN CỨNG 27 2.5.1 Camera Intel RealSense D435 27 2.5.2 Module HC06 30 2.5.3 Kit Arduino Nano 31 2.5.4 Module Điều Khiển Động Cơ BTS7960 32 CHƯƠNG 3: TÍNH TỐN VÀ THIẾT KẾ 33 3.1 GIỚI THIỆU 33 3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 33 3.2.1 Khối thu tín hiệu 34 3.2.2 Khối xử lý khối hiển thị 35 3.2.4 Khối giao tiếp điều khiển 35 3.2.5 Khối nguồn 37 3.3 CÁC TÍNH TỐN TRONG XỬ LÝ ẢNH ĐẦU VÀO 39 3.3.1 Nhận dạng vật mốc ảnh màu camera 39 3.3.2 Tính khoảng cách dựa vào ảnh độ sau nhận từ camera 42 CHƯƠNG 4: THI CÔNG HỆ THỐNG 43 4.1 GIỚI THIỆU 43 4.2 THI CÔNG HỆ THỐNG 43 4.2.1 Các linh kiện model cần thiết cho mơ hình 43 4.2.2 Kết nối, lắp ráp kiểm tra mơ hình 43 4.3 THI CƠNG MƠ HÌNH 44 4.3.2 Kết nối phận điều khiển động lực với nguồn 45 4.3.3 Kết nối phận camera với laptop 45 4.3.4 Mơ hình hồn chỉnh 46 4.4 LẬP TRÌNH HỆ THỐNG 47 4.4.1 Lưu đồ giải thuật 47 4.4.2 Lập trình ngơn ngữ Python với Sublime Text 49 4.4.2 Lập trình Arduino với Arduino IDE 52 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 53 4.5.1 Viết tài liệu hướng dẫn sử dụng 53 4.5.2 Quy trình thao tác 54 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 55 5.1 CAMERA 3D 55 5.2 XÁC ĐỊNH VẬT CẢN 55 5.3 NHẬN DẠNG VẬT MỐC 57 5.4 KẾT QUẢ TRÁNH VẬT CẢN 58 5.5 KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN 60 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62 6.1 KẾT LUẬN 62 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 32: Kết xác định vật cản camera Dưới bảng thống kê thực tế kết xác định màu sắc sản phẩm điều kiện môi trường ánh sáng đầy đủ sản phẩm màu đỏ màu khác màu xanh, màu vàng: Sau kiểm tra thực tế, khả hoạt động thiết bị sau: Thời gian đáp ứng nhanh điều kiện lý tưởng làm khảo sát Camera nhận diện gần 100% vật cản trước Bảng 4: Thống kê kết xác định khoảng cách tối đa camera nhìn thấy vật cản STT camera cách đất khoảng cách lớn phát 0.0 m 0.95 m 0.5 m 1.57 m 1.0 m 2.31 m 1.5 m 5.39 m BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.3 NHẬN DẠNG VẬT MỐC Nhận dạng vật mốc trình quan trọng hệ thống, giúp cho xe lăn di chuyển hướng theo yêu cần đề ra,hình ảnh từ ảnh RGB thu nhận xử lý qua giải thuật SIFT FLANN thư viện OPENCV giúp có điểm đặc trưng từ nhận dạng vật thể, sau có đặc trưng đem so sánh với mẫu đầu vào tiếp tục cho tính góc lệch để xác định vi trí xe đồ mơ tả trước Sau hình ảnh sau thí nghiệm : Hình 33: Kết xác định vật mốc camera trường hợp Hình 34: Kết xác định vật mốc camera trường hợp BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 35: Kết xác định vật mốc camera trường hợp Từ hình ảnh cho ta thấy khả nhận diện vật mốc camera gần xác so với thực tế 5.4 KẾT QUẢ TRÁNH VẬT CẢN Từ kết xác định vật cản phần 5.2 ta kết việc tránh vật cản nhiều trường hợp thực tế sau: Hình 36: thẳng Với hình ta thấy tâm khoảng trống camera xác định đường dọc hình xác định khoảng cách camera Phần rìa hai bên ảnh có khoảng cách nhỏ nên màu trắng thấp với ảnh đo khoảng cách BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 37: rẽ trái Tương tự lúc khoảng cách mà camera xác định bên trái cao so với bên phải nên tâm lệch bên trái giúp xe lăn rẽ sang trái Hình 38: rẽ phải Cuối rẽ phải, lúc có vật cản trước camera, cụ thể trường hợp bàn ghế khoảng cách mà camera xác định bên trái thấp bên phải nên tâm di chuyển lệch bên phải giúp cho xe lăn di chuyển sang phải Từ hình ảnh ta thấy khả chuyển hướng vật gần xác với kết thí nghiệm BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.5 KẾT QUẢ XE LĂN DỪNG TRƯỚC VẬT MỐC Hình 39: xe lăn dừng trước vật mốc Sau trình di chuyển tránh né vật cản, xe lăn gặp vật mốc trình phân tích nhận dạng vật mốc khởi động làm cho xe lăn nhận biết khoảng cách từ xe lăn tới tâm vật mốc Trong chưa đạt tới khoảng cách dừng xe di chuyển hướng theo vật mốc Nếu đạt khoảng cách dừng xe lăn dừng lại 5.6 KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN Với hình bố trí đồ bố trí vật ta có bảng thơng số đo đạc tính tốn sau : Bảng 5: Thống kê kết xác định khoảng cách vật mốc Đơn vị đo meter Đủ sáng Nhận dạng camera Thực tế Chênh lệch Thiếu sáng Nhận dạng camera Thực tế Chênh lệch Da Trường hợp Db Dc Da Trường hợp Db Dc Da Trường hợp Db Dc có 2.39 2.53 -0.14 có 4.05 4.12 -0.07 có 2.68 2.67 0.01 có 3.67 3.78 -0.11 có 3.89 3.88 0.01 có 3.13 3.13 có 2.68 2.59 0.09 có 3.60 3.48 0.12 có 2.73 2.67 0.06 có 2.26 2.53 -0.27 có 3.81 4.12 -0.31 có 2.49 2.67 -0.18 có 3.66 3.78 -0.12 có 3.76 3.88 -0.12 có 3.16 3.13 0.03 có 2.12 2.59 -0.47 có 3.25 3.48 -0.23 có 2.26 2.67 -0.41 Với bảng số liệu ta thấy camera nhận dạng toàn vật mốc đầu vào, giá trị khoảng cách lấy từ camera so với thực tế đo có chênh BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ lệnh không đáng kể Với điều kiện thiếu sáng camera có sai số cáo chút so với điều kiện đủ sáng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.1.1 Kết đạt Hệ thống đáp ứng tương đối đầy đủ mục tiêu như: Xác định vật cản trước camera phạm vi khoảng 1.5 m Nhận diện vật mốc trước camera với độ xác đáng tin cậy Xe lăn di chuyển không va chạm vật có độ cao lớn 0.5 m Hoạt động ổn định điều kiện đủ ánh sáng địa hình gồ ghề 6.1.2 Những mặt hạn chế Ngồi kết đạt hệ thống cịn hạn chế khả nhận dạng bị ảnh hưởng yếu tố môi trường ánh sáng, nhiễu; nhận dạng biết vật có nhiều đặc trưng vật cản nằm khoảng cách ngắn Chưa xây dựng mơ hình hồn chỉnh, mang tính nghiên cứu 6.2 HƯỚNG PHÁT TRIỂN Từ mặt hạn chế đề tài, để đề tài hoạt động tốt áp dụng vào thực tế sau nhóm đề hướng phát triển sau: + Thay camera tốt chất lượng xử lý tốt + Sử dụng thiết bị có cấu hình cao để đáp ứng khả xử lý tốt + Tìm kiếm giải thuật cho tốc độ xử ảnh nhanh xác BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 TÀI LIỆU KHAM KHẢO TÀI LIỆU THAM KHẢO [1] Việt Nam công bố kết Điều tra Quốc gia quy mô lớn người khuyết tật (2016) – www.unicef.org – 1/2019 [2] Gyro-Accelerometer based Control of an Intelligent Wheelchair Received 19 December 2017, Published online: June2018 [3] An Introduction to MEMS (Micro-electromechanical Systems) - Prime Faraday Technology Watch – 01/ 2002 [4] Ryan Goodrich – Accelerometer - What They Are and How They Work - LiveScience Contributor – 01/10/2013 [5] Nguyễn Tiến San, Nguyễn Thái Bảo Hùng, Báo cáo tìm hiểu cảm biến Kinect (RGB –D), Đồ án môn học, trường Đại học công nghệ, Tp.HCM, 2016 [6] Trí thức trẻ, Camera 3D hoạt động thê nào, https://fptshop.com.vn 05/01/2016 [7] Nguyễn Văn Sơn, Hà Duy Khánh, Phân loại sản phẩm dùng Kit Raspberry, Đồ án tốt nghiệp, trường ĐHSPKT, Tp.HCM, 2018 [8] Richard Blum, Christine Bresnahan, Sams teach yourself python in 24 Hours, Sams, 2014 [9] PGS.TS Nguyễn Quang Hoan, “Xử Lý Ảnh”, Học Viện Cơng Nghệ Bưu Chính Viễn Thơng, 2006 (http://www.e-ptit.edu.vn/hoctap/hoclieu/XLA.pdf) [10] Thơng số kỹ thuật động DC tìm kiếm trang web: https://vietnamese.alibaba.com/ , Ms Maggie Wang, TT Motor (Shenzhen) Industrial Co., Ltd Floor 4-5, Building A14, Tianliao Industrial Zone, Taoyuan Street, Nanshan District, Shenzhen, Guangdong, China (Mainland) [11] Thông số kỹ thuật nguồn Adapter 12V – 1A tìm kiếm trang web: https://iotmaker.vn, Người đại diện pháp luật: bà Phạm Thị Thu Hiền, Công ty Cổ phần Cơng nghệ Nanochip, Trụ sở: Tầng lửng, tồ nhà An Phú Plaza, 117-119 Lý Chính Thắng, Phường 7, Quận 3, Tp Hồ Chí Minh, 10/07/2016 TÀI LIỆU KHAM KHẢO Sách tham khảo [1] TS Nguyễn Thanh Hải, “Giáo trình Xử lý ảnh”, NXB Đại Học Quốc Gia TPHCM, 09/2014 [2] Phạm Quang Huy, “Arduino dành cho người tự học” , NXB Thanh Niên , 2019 [3] Rafia Hassani, Mohamed Boumehraz, Maroua Hamzi, Zineb Habba – GyroAccelerometer based Control of an Intelligent Wheelchair – 06/2018 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 PHỤ LỤC PHỤ LỤC Thư viện chương trình import cv2 import pyrealsense2 as rs import numpy as np import time import analysis import controller import object_detection Chương trình import cv2 import pyrealsense2 as rs import numpy as np import time import analysis import controller import object_detection pipeline = rs.pipeline() config = rs.config() config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) vat1 = cv2.imread('vat1.png', 0) anh = cv2.imread('result.png', 0) Z_limit = 5.0 min_hamper=1.0 def draw_image(Zi_max): image=np.zeros((480,620)) for i in range(620): if Zi_max[i] > Z_limit : tmp = Z_limit else: tmp = Zi_max[i] row = int(96*tmp) #480pixel*zi_min[i]m/5m for j in range(480-row,480): image[j,i]=1 return image pipeline.start(config) local = while True: TÀI LIỆU KHAM KHẢO start = time.time() frames = pipeline.wait_for_frames() depth = frames.get_depth_frame() frame = frames.get_color_frame() color_image = np.asanyarray(frame.get_data()) Zi_min = analysis.disparty(depth) elements_min = analysis.elements_min(Zi_min) if elements_min[0][0] < 1.2 : controller.stop() print("stop") elif elements_min[len(elements_min)-1][0] < 1.5: print("tranh vat can",elements_min[len(elements_min)-1][0]) local = analysis.process(elements_min,Zi_min) controller.local_driver(local) else: x,y = object_detection.sift_detector("1",vat1,color_image) if x == and y == : local = analysis.process(elements_min,Zi_min) controller.local_driver(local) else: z = depth.get_distance(x, y) if z > 1.5 : controller.local_driver(x) print("diem dung :", z) image = draw_image(Zi_min) cv2.line(image,(local,0),(local,480),(0,0,255),1) cv2.line(image,(0,288),(640,288),(0,0,255),1) cv2.line(image,(0,384),(640,384),(0,0,255),1) cv2.imshow("image",image) cv2.imshow('Video', color_image) print("time delay:",time.time() - start) key = cv2.waitKey(1) if key in (27, ord("q"),ord(" ")): # cv2.imwrite("result.png",color_image) break elif key == ord("p"): while True: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 TÀI LIỆU KHAM KHẢO key = cv2.waitKey(1) if key == ord("s"): break elif key == ord("1"): cv2.imwrite("vat1.png",color_image) pipeline.stop() Chương trình analysis import numpy as np import collections row_ = 480 col_ = 640 def disparty(depth): min_arr = [] for col in range(20,col_): tmp = 5.0 for row in range(row_): if 0.5 disparty) local_tmp=0 sum_=0 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 TÀI LIỆU KHAM KHẢO i_tmp=1 for local in locals_min: if local == 0: pass elif local == locals_min[-1]: if width_min < i_tmp: width_min = i_tmp local_min = int(np.round(sum_/width_min)) elif local_tmp == 0: local_tmp = local sum_ = local elif local == local_tmp + : sum_=sum_+local local_tmp = local i_tmp +=1 else: if width_min < i_tmp: width_min = i_tmp local_min = int(np.round(sum_/width_min)) local_tmp=0 sum_=0 i_tmp=1 # print(local_tmp,local,i_tmp,width_min,sum_,local_min) if width_min >= width_request: break return local_min Chương trình object_detecter import cv2 import numpy as np MIN_MATCH_COUNT = 10 font = cv2.FONT_HERSHEY_SIMPLEX fontScale = color = (255, 0, 0) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 TÀI LIỆU KHAM KHẢO thickness = def sift_detector(tenvat,img1, img2): sift = cv2.xfeatures2d.SIFT_create() kp1, des1 = sift.detectAndCompute(img1,None) kp2, des2 = sift.detectAndCompute(img2,None) FLANN_INDEX_KDTREE = index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5) search_params = dict(checks = 50) flann = cv2.FlannBasedMatcher(index_params, search_params) matches = flann.knnMatch(des1,des2,k=2) good = [] for m,n in matches: if m.distance < 0.7*n.distance: good.append(m) if len(good)>MIN_MATCH_COUNT: src_pts = np.float32([ kp1[m.queryIdx].pt for m in good ]).reshape(-1,1,2) dst_pts = np.float32([ kp2[m.trainIdx].pt for m in good ]).reshape(-1,1,2) M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC,5.0) matchesMask = mask.ravel().tolist() h,w = img1.shape pts = np.float32([ [0,0],[0,h-1],[w-1,h-1],[w-1,0] ]).reshape(-1,1,2) dst = cv2.perspectiveTransform(pts,M) tam1 = np.int32(dst[0]) tam2 = np.int32(dst[2]) x1, y1 = tam1[0] x2, y2 = tam2[0] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 TÀI LIỆU KHAM KHẢO x = np.int32((x2-x1)/2+x1) y = np.int32((y2-y1)/2+y1) if (x in range(640)) and (y in range(480)): cv2.putText(img2,tenvat, (x,y), font, fontScale, color, thickness, cv2.LINE_AA) img2 = cv2.polylines(img2,[np.int32(dst)],True,255,3, cv2.LINE_AA) img2 = cv2.circle(img2, (x,y), 5, (255, 0, 0), 3) # print(tenvat,"so diem:",len(good)) return x,y else: print ("Not enough matches are found - %d/%d" % (len(good),MIN_MATCH_COUNT)) matchesMask = None return 0,0 draw_params = dict(matchColor = (0,255,0), # draw matches in green color singlePointColor = None, matchesMask = matchesMask, # draw only inliers flags = 2) return x1,y1 Chương trình controller import serial port = serial.Serial("/dev/rfcomm0", baudrate=9600) print(port) def local_driver(local): print(local) port.write(str(local).encode('ascii')) def stop(): print("stop") port.write(b'E') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 ... tài ? ?Thi? ??t kế thi cơng mơ hình xe lăn tự hành nhà dùng camera 3D. ” Thi? ??t kế mơ hình phân có khả nhận dạng vật xung để có định cho xe lăn Trong sống nay,mỡi gia đình trang bị nhiều vật dụng nhà. .. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: THI? ??T KẾ VÀ THI CƠNG MƠ HÌNH XE LĂN TỰ HÀNH TRONG NHÀ DÙNG CAMERA 3D. .. làm điều thi? ??t bị cảm biến, thuật tốn hỡ trợ đời Để tài ? ?Thi? ??t kế thi cơng mơ hình xe lăn tự hành nhà dùng camera 3D? ?? với mô hình gồm điều khiển trung tâm laptop, khối thu tín hiệu hình ảnh