1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) điều khiển thiết bị bằng cử chỉ tay thông qua xử lý ảnh

103 13 0

Đ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

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Ệ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY THÔNG QUA XỬ LÝ ẢNH GVHD: TS NGUYỄN THANH HẢI SVTH: NGUYỄN HỮU SÁNG MSSV: 12141191 SVTH: TỪ THỊ KIM CHI MSSV: 12141022 SKL 0 Tp Hồ Chí Minh, tháng 07/2016 an 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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY THÔNG QUA XỬ LÝ ẢNH GVHD: TS NGUYỄN THANH HẢI SVTH: NGUYỄN HỮU SÁNG 12141191 TỪ THỊ KIM CHI Tp Hồ Chí Minh – 7/2016 an 12141022 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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY THÔNG QUA XỬ LÝ ẢNH GVHD: TS NGUYỄN THANH HẢI SVTH: NGUYỄN HỮU SÁNG 12141191 TỪ THỊ KIM CHI Lớp: 12141, hệ quy Tp Hồ Chí Minh - 7/2016 an 12141022 TRƯỜNG ĐH 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 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Nguyễn Hữu Sáng Từ Thị Kim Chi Điện tử cơng nghiệp Đại học quy 2012 MSSV: 12141191 MSSV: 12141022 Mã ngành: D510302 Mã hệ: Lớp: 12141DT I TÊN ĐỀ TÀI: ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY THÔNG QUA XỬ LÝ ẢNH II NHIỆM VỤ Các số liệu ban đầu:  Phạm Ngọc Hương Trà, Đồ án tốt nghiệp “Ứng dụng kỹ thuật nhận dạng ảnh để điều khiển thiết bị”, trường ĐH Sư Phạm Kỹ Thuật TpHCM, 2012  Trần Ngọc Thăng, Trần Thành Trung, Đồ án tốt nghiệp “HandGesture”, trường ĐH Sư Phạm Kỹ Thuật TpHCM, 2013  Nguyễn Quang Hoa, Giáo Trình “Xử Lý Ảnh”, Học Viện Cơng Nghệ Bưu Chính Viễn Thơng, 2006 Nội dung thực hiện:  Thu ảnh từ webcam  Trích xuất màu da người dựa vào đặc trưng màu da không gian màu YCbCr  Xử lý ảnh dùng lọc trung vị thuật tốn tìm trọng tâm ảnh  Kết nối giao tiếp thiết bị ngoại vi  Thiết kế mạch điều khiển thông qua chuẩn giao tiếp UART  Chạy thử chỉnh sửa  Viết báo cáo III NGÀY GIAO NHIỆM VỤ: 10/04/2016 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 01/07/2016 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Nguyễn Thanh Hải Tp HCM, ngày tháng năm 2016 CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP ii an 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 TP.HCM, ngày…tháng…năm 2016 Nhóm thực Nguyễn Hữu Sáng Từ Thị Kim Chi BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP an iv LỜI CẢM ƠN Để hồn thành khóa luận này, chúng em xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Thanh Hải_Trưởng môn Điện Tử Cơng Nghiệp tận tình bảo, hướng dẫn chúng em suốt trình thực đề tài Chúng em chân thành cảm ơn đến quý thầy cô khoa Điện – Điện Tử tận tình giảng dạy, truyền đạt cho chúng em kiến thức, góp ý chia sẻ nhiều kinh nghiệm quý báu cho chúng em hoàn thành tốt đề tài Chúng em xin gửi lời cảm ơn đến anh chị, bạn bè tận tình giúp đỡ thời gian học tập trường suốt trình thực đồ án Cuối cùng, chúng trân trọng gửi lời cảm ơn đến gia đình cha mẹ người lo lắng, động viên, quan tâm, hy sinh tất chúng con, ln chỗ dựa vững động lực để chúng cố gắng phấn đấu đường học tập Xin chân thành cảm ơn! TP.HCM, ngày … tháng … năm 2016 Nhóm thực đề tài Nguyễn Hữu Sáng Từ Thị Kim Chi BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP an v LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Biểu diễn hình học khơng gian màu RGB Hình 2.2 Ví dụ ảnh màu Hình 2.3 Ví dụ ảnh xám Hình 2.4 Ví dụ ảnh nhị phân Hình 2.5 Đặt mặt nạ vào ảnh tính giá trị điểm ảnh ngõ Hình 2.6 Tính giá trị điểm ảnh ngõ Hình 2.7 Cách xếp phần tử trung vị Hình 2.8 Ảnh bị nhiễu muối tiêu trước sau lọc trung vị 10 Hình 2.9 Bộ lọc 3x3 thường dùng 10 Hình 2.10 Xác định tâm phần tử cấu trúc 11 Hình 2.11 Đặt phần tử cấu trúc vào tâm ảnh cần xử lý 11 Hình 2.12 Ví dụ tính tốn co ảnh 12 Hình 2.13 Kết sau co ảnh 12 Hình 2.14 Xác định tâm phần tử cấu trúc 13 Hình 2.15 Ví dụ tính tốn giãn ảnh 13 Hình 2.16 Kết sau giãn ảnh 14 Hình 2.17 Sơ đồ khối hệ thống nhận dạng điều khiển thiết bị 15 Hình 2.18 Kết nối webcam với máy tính 16 Hình 2.19 Ảnh loại bỏ khuôn mặt 17 Hình 2.20 Kết lọc màu da 17 Hình 2.21 Kết cắt lấy bàn tay 18 Hình 2.22 Tính khoảng cách từ trọng tâm đến biên bàn tay 18 BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP an ix Hình 2.23 Thực phép giãn ảnh kết 19 Hình 2.24 Kết sau xử lý ảnh 20 Hình 2.25 Giao diện hiển thị ảnh giao tiếp với người dùng 20 Hình 2.26: Cổng COM DB-09 21 Hình 3.1 Sơ đồ khối mạch giao tiếp điều khiển led 22 Hình 3.2 Sơ đồ chân cổng COM DB-09 24 Hình 3.3 Dạng sóng truyền liệu theo chuẩn RS232 25 Hình 3.4 IC Max232 27 Hình 3.5 Sơ đồ kết nối cổng COM IC Max232 27 Hình 3.6 Sơ đồ chân vi điều khiển PIC16F887 28 Hình 3.7 Thanh ghi Port A 29 Hình 3.8 Thanh ghi Tris A 29 Hình 3.9 Sơ đồ kết nối vi điều khiển với led đơn 29 Hình 3.10 IC ổn áp 7805 30 Hình 3.11 Sơ đồ nguyên lý mạch nguồn 31 Hình 3.12 Sơ đồ nút Reset giao tiếp với PIC16F887 31 Hình 3.13 Sơ đồ ngun lý tồn mạch điều khiển 32 Hình 4.1 Mạch in lớp 34 Hình 4.2 Sơ đồ bố trí linh kiện 34 Hình 4.3 Mơ hình khơng gian chiều mạch điều khiển 35 Hình 4.4 Mạch thi công thực tế 35 Hình 4.5 Mạch điều khiển đóng hộp bảo vệ 36 Hình 4.6 Hệ thống điều khiển thiết bị cử tay thông qua xử lý ảnh 36 Hình 4.7 Lưu đồ cho tồn hệ thống 37 BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP an x Hình 4.8 Lưu đồ giải thuật khối xử lý ảnh 37 Hình 4.9 Lưu đồ chương trình mạch điều khiển 38 Hình 4.10 Lưu đồ ngắt truyền thông nhận liệu 38 Hình 4.11 Biểu tượng Matlab hình làm việc 39 Hình 4.12 Cửa sổ làm việc Matlab 39 Hình 4.13 Cửa sổ soạn thảo code 40 Hình 4.14 Xuất thông báo lỗi code bị sai 41 Hình 4.15 Khởi chạy, liên kết thành phần hệ thống 41 Hình 4.16 Chạy mơ hệ thống với ảnh chứa ngón tay 42 Hình 4.17 Chạy mơ hệ thống với ảnh chứa ngón tay 42 Hình 4.18 Chạy thực tế với ảnh tĩnh 43 Hình 4.19 Chạy thực tế với ảnh thu từ webcam 43 Hình 4.20 Kết nối webcam với máy tính qua cổng USB 44 Hình 4.21 Kết nối mạch điều khiển với máy tính 44 Hình 4.22 Cửa sổ chọn ảnh cần xử lý 46 Hình 4.23 Ảnh chờ xử lý 46 Hình 4.24 Kết xử lý ảnh chọn 46 Hình 4.25 Thu ảnh từ webcam 47 Hình 4.26 Lưu đồ vận hành hệ thống nhận dạng cử tay, điều khiển thiết bị 49 Hình 5.1 Ảnh trước sau lọc trung vị 57 Hình 5.2 Hình ảnh thu từ webcam 57 Hình 5.3 Ảnh sau loại bỏ khuôn mặt 58 Hình 5.4 Ảnh sau lọc màu da 58 Hình 5.5 Ảnh chứa vùng da tay 58 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP an xi Hình 5.6 Kết sau cắt lấy bàn tay 59 Hình 5.7 Tính khoảng cách từ trọng tâm đến biên bàn tay 59 Hình 5.8 Kết thu đực sau hai phép giãn ảnh co ảnh 60 Hình 5.9 Kết cuối sau nhận dạng 60 Hình 5.10 Minh họa khoảng cách tay webcam 61 Hình 5.11 Kết nhận dạng khoảng cách xa gần 61 Hình 5.12 Minh họa điều kiện chiếu sáng khác 61 Hình 5.13 Kết nhận dạng ảnh điều kiện chiếu sáng khác 62 Hình 5.14 minh họa độ mở ngón tay 63 Hình 5.15 Minh họa góc chụp bàn tay 63 Hình 5.16 Kết nhận dạng ảnh độ mở ngón tay 63 Hình 5.17 Kết nhận dạng trường hợp góc chụp khác 64 Hình 5.18 Minh họa ảnh mờ, ảnh có bàn tay bị che khuất khn mặt 65 Hình 5.19 Kết nhận dạng bàn tay bị nhòe bàn tay chạm khn mặt 65 Hình 5.20 Minh họa độ nhấp nhơ ngón tay co lại 66 Hình 5.21 Kết nhận dạng hạn chế nhấp nhơ ngón tay 66 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP an xii imshow('F:\SPKT\DATN\CODE\Data\Devices\OFF.jpg','InitialMagnification',' fit'); elseif num ==1 imshow('F:\SPKT\DATN\CODE\Data\Devices\1.jpg','InitialMagnification','fit') ; elseif num ==2 imshow('F:\SPKT\DATN\CODE\Data\Devices\2.jpg','InitialMagnification','fit') ; elseif num ==3 imshow('F:\SPKT\DATN\CODE\Data\Devices\3.jpg','InitialMagnification','fit') ; elseif num ==4 imshow('F:\SPKT\DATN\CODE\Data\Devices\4.jpg','InitialMagnification','fit') ; elseif num ==5 imshow('F:\SPKT\DATN\CODE\Data\Devices\5.jpg','InitialMagnification','fit') ; else imshow('F:\SPKT\DATN\CODE\Data\Devices\error.jpg','InitialMagnification',' fit'); end else num=0; final = zeros(size(out)); subplot(4,6,[13 14 19 20], 'replace'); imshow(out); subplot(4,6,[3 6], 'replace'); imshow('F:\SPKT\DATN\CODE\Data\Devices\error.jpg','InitialMagnification',' fit'); end BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP an 74 % hold off; pause(0.001); %% check for keys & exit -k=get(gcf,'CurrentCharacter'); if k~='@' % has it changed from the dummy character? set(gcf,'CurrentCharacter','@'); % reset the character % now process the key as required if k == 'q' break; end end %% - COMMUNICATION run uart.m; end stop(vid); flushdata(vid); Chương trình khỏi chế độ webcam: STOP_VIDEO set(gcf,'CurrentCharacter','q'); % reset the character a = exist('vid', 'var');% co ton tai bien var ? if a==1 stop(vid); flushdata(vid); end subplot(4,6,[1 8], 'replace'); imshow('F:\SPKT\DATN\CODE\Data\LOGO_HCMUTE.jpg', 'InitialMagnification','fit'); subplot(4,6,[13 14 19 20], 'replace'); imshow('F:\SPKT\DATN\CODE\Data\LOGO_HCMUTE.jpg', 'InitialMagnification','fit'); Chương trình xử lý ảnh clc; img_orig = imread('image.jpg'); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP an 75 img_orig = imresize(img_orig, 0.5); height = size(img_orig,1); width = size(img_orig,2); %Initialize the output images bin = zeros(height,width); % face detect -FDetect = vision.CascadeObjectDetector; BB = step(FDetect,img_orig); hold on; if size(BB,1)~= for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',1,'LineStyle','-','EdgeColor','r'); % remove face RGB = insertShape(img_orig, 'FilledRectangle', BB(i, :),'Color', 'black','Opacity', 1); end img_ycbcr = rgb2ycbcr(RGB); else img_ycbcr = rgb2ycbcr(img_orig); end % % Detect Skin %Convert the image from RGB to YCbCr Cb = img_ycbcr(:,:,2); Cr = img_ycbcr(:,:,3); [r,bantay,v] = find(Cb>=77 & Cb=133 & Cr

Ngày đăng: 02/02/2023, 09:07

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w