Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
9,03 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ẾTKẾVÀTHICÔNGHỆTHỐNGĐẾMĐỐITƯỢNGTRONGẢNHSỬDỤNGKÍTARDUINOHIỂNTHỊTRÊNLCD GVHD: ThS Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp Hồ Chí Minh - 1/2018 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ẾTKẾVÀTHICÔNGHỆTHỐNGĐẾMĐỐITƯỢNGTRONGẢNHSỬDỤNGKÍTARDUINOHIỂNTHỊTRÊNLCD GVHD: ThS Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp Hồ Chí Minh - 1/2018 TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc TP Hồ Chí Minh, ngày 15 tháng năm 2018 BẢNG MÔ TẢ CÔNG VIỆC Họ tên sinh viên 1: PHAN THÀNH HƯNG MSSV: 13141125 Lớp: 13141DT3A Họ tên sinh viên 2: TRẦN VĂN THẠCH MSSV: 13141304 Lớp: 13141DT3A Tên đề tài: ĐẾMĐỐITƯỢNGTRONGẢNH MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI: Mục tiêu đề tài xây dựnghệthốngđếmđốitượngảnh chụp camera, nhúng liệu đếm xuống kitArduino để điều khiển LCDhiểnthị kết đếm Đề tài sửdụng thuật toán đánh nhãn để đốitượngảnh Xây dựng giao diện để người dùng dễ dàng thao tác Viết hướng dẫn thao tác sửdụnghệthống MÔ TẢ CÔNG VIỆC THỰC HIỆN ĐỀ TÀI CỦA TỪNG SINH VIÊN: Họ tên Sinh viên 1: PHAN THÀNH HƯNG Các công việc thực đề tài: STT NỘI DUNGCÔNG VIỆC Tham khảo tài liệu liên quan đến đề tài tác giả thực Viết chương trình đếmđối tượng( thuật toán đánh nhãn), điều khiển kitArduino Chỉnh sửa hệthống Viết báo cáo ii Họ tên Sinh viên 2: TRẦN VĂN THẠCH Các công việc thực đề tài: STT NỘI DUNGCÔNG VIỆC Tham khảo tài liệu liên quan đến đề tài tác giả thực Viết chương trình đếmđốitượng (thuật tốn đánh nhãn), điều khiển kitArduino Chụp ảnh phục vụ cho trình đếmđốitượng Chỉnh sửa báo cáo SINH VIÊN SINH VIÊN (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) iii TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp HCM, ngày 15 tháng năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Phan Thành Hưng MSSV: 13141125 Trần Văn Thạch MSSV: 13141304 Kỹ thuật Điện Tử Truyền Thông Mã ngành: 01 Đại học quy Mã hệ: 2013 Lớp: 13141DT3A I TÊN ĐỀ TÀI: THIẾTKẾVÀTHICÔNGHỆTHỐNGĐẾM SỐ LƯỢNG TRONGẢNHSỬDỤNGKÍTARDUINOHIỂNTHỊTRÊNLCD II NHIỆM VỤ Các số liệu ban đầu: Bộ ảnh đếm: 30 ảnh gồm 10 ảnh tế bào, 10 ảnh gỗ, 10 ảnh vỉ thuốc Matlab phiên 2015a Kit điều khiển chính: Arduino Uno R3, LCD 16x2 Nội dung thực hiện: Đề tài thực nội dung xây dựnghệthốngđếmđốitượng qua hình ảnh với đầu vào ảnh chứa đối tượng( tế bào, cây, vỉ thuốc) Kết đếm nhúng liệu điều khiển tương ứng xuống kitArduino Nhóm thực nội dung sau: Tìm hiểu kitArduino Cài đặt nguồn thư viện cho kit Arduino, cách kết nối Arduino với Matlab Tìm hiểu thuật tốn đánh nhãn Xây dựng q trình xử lý ảnh đầu vào Xây dựnghệthốngđếmđốitượng ảnh, lập trình ứng dụng nhúng liệu kitArduino Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 25/09/2017 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2018 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Duy Thảo CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iv TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Bộ Môn Điện Tử Công Nghiệp – Y Sinh Độc lập - Tự - Hạnh phúc Tp Hồ Chí Minh, ngày 15 tháng năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phan Thành Hưng Lớp: 13141DT3A MSSV: 13141125 Họ tên sinh viên 2: Trần Văn Thạch Lớp: 13141DT3A MSSV: 13141304 Tên đề tài: THIẾTKẾVÀTHICÔNGHỆTHỐNGĐẾM SỐ LƯỢNG TRONGẢNHSỬDỤNGKÍTARDUINOHIỂNTHỊTRÊNLCD Xác nhận Nội dung Tuần/ngày GVHD Tuần 1,2 Tìm đề tài Tuần Tìm hiểu hoạt động Arduino Matlab Tuần Cài đặt Matlab, kết nối Arduino với Matlab Tuần 5,6 Lập trình Arduino với chân I/O để nhúng liệu Tuần 7,8,9 Lập trình xây dựng chương trình xử lý ảnh đầu vào Tuần 10,11,12 Lập trình chương trình đếmđốitượngảnh chương trình giao diện người dùng Tuần 13,14 Hiệu chỉnh toàn chương trình Tuần 15,16,17 Viết báo cáo đồ án Tuần 18 Chỉnh sửa, in đồ án GV HƯỚNG DẪN (Ký ghi rõ họ tên) v LỜI CAM ĐOAN Chúng tơi cam đoan ĐATN cơng trình nghiên cứu thân hướng dẫn Thạc sỹ Nguyễn Duy Thảo Các kết công bố ĐATN “Thiết kếthicônghệthốngđếm số lượng ảnhsửdụngkítArduinohiểnthị LCD” trung thực khơng chép hồn tồn từ cơng trình khác Người thực đề tài Phan Thành Hưng Trần Văn Thạch vi LỜI CẢM ƠN Trong trình làm đồ án tốt nghiệp, chúng em nhận nhiều ủng hộ, giúp đỡ đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Chúng em xin gửi lời cảm ơn chân thành đến Th.S Nguyễn Duy Thảo - Trường Đại học Sư phạm Kỹ thuật Tp.HCM tận tình hướng dẫn bảo suốt thời gian làm luận án tốt nghiệp Thầy tạo nhiều điều kiện cho lời khuyên quý báu giúp chúng em hồn thành tốt khóa luận Xin chân thành cảm ơn thầy cô giáo Trường Đại học Sư phạm Kỹ thuật Tp.HCM nói chung, thầy Bộ mơn Điện tử Cơng Nghiệp – Y Sinh nói riêng tận tình giảng dạy, truyền đạt cho chúng em kiến thức quý báu tạo điều kiện giúp đỡ suốt trình học tập năm học vừa qua, giúp chúng em có sở lý thuyết vững vàng Cuối cùng, chúng em xin chân thành cảm ơn gia đình bạn bè, tạo điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em suốt trình học tập hoàn thành đồ án tốt nghiệp Chúng em xin chân thành cảm ơn! Người thực đề tài Phan Thành Hưng Trần Văn Thạch vii MỤC LỤC Trang bìa i Bảng mô tả công việc ii Nhiệm vụ đồ án iv Lịch trình v Cam đoan vi Lời cảm ơn vii Mục lục viii Liệt kê hình xi Liệt kê bảng xiii Tóm tắt xv CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu 1.3 Nội dung nghiên cứu 1.4 Giới hạn 1.5 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu xử lý ảnh 2.2 Tổng quan Matlab 2.3 Giới thiệu lịch sử hình thành Arduino 2.4 Giới thiệu phần cứng 2.4.1 KitArduino Uno 2.4.2 Giới thiệu LCD 16x2 10 2.4.3 Giao tiếp I2C 11 2.5 Một số phương pháp xử lý ảnh 12 2.5.1 Xử lý điểm ảnh: 12 2.5.2 Làm trơn nhiễu lọc tuyến tính 15 2.5.3 Nhị phân hóa ngưỡng tự động 16 2.5.4 Phân vùng ảnh: 17 2.5.5 Phép toán Dilation 18 2.5.6 Phép toán Erosion 19 2.5.7 Phép toán Openning 20 2.5.8 Phép toán Closing 20 viii 2.5.9 Thuật toán đánh nhãn: 25 2.6 Các hàm xử lý Matlab 25 CHƯƠNG 3: TÍNH TỐN VÀTHIẾTKẾ 28 3.1 Giới thiệu 28 3.2 Thiếtkếhệthống 28 3.2.1 Thiếtkế sơ đồ khối hệthống 28 3.2.2 Thiếtkế khối hệt thống 30 3.3 Tổng quan phần cứng 32 3.3.1 Tổng quan khối 32 3.3.2 Board Arduino Uno R3 33 3.4 Cài đặt gói hỗ trợ phần cứng cho Matlab 37 3.4.1 Kết nối Arduino với Matlab 37 3.4.2 Kiểm tra kết nối Arduino với Matlab 40 3.4.3 Kết nối LCD với I2C 40 CHƯƠNG THICÔNGHỆTHỐNG 42 4.1 Giới thiệu 42 4.2 Thicônghệthống 42 4.3 Lưu đồ hệthống 43 4.3.1 Tổng quát hệthống 43 4.3.2 Chi tiết hệthống 43 4.4 Viết tài liệu hướng dẫn sử dụng, thao tác 47 4.4.1 Viết tài liệu hướng dẫn sửdụng 47 4.4.2 Quy trình thao tác giao diện 48 CHƯƠNG KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ 49 5.1 Kết 49 5.1.1 Tổng quan kết đạt 49 5.1.2 Kết thực tế 49 5.2 Nhận xét đánh giá 60 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62 6.1 Kết luận 62 6.2 Hướng phát triển 63 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 65 ix CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.11: Đếm loại thành cơng Đếm thuốc Cũng hai đốitượng việc đếm thuốc tương tự nhóm đếm nghiêng vỉ thuốc màu tối(đen, tím, xám) để việc đếm xảy xác Với đốitượng khác đếm cấp độ màu sắc khác nên cần phải chuyển ngưỡng cấp độ khác Hình 5.12: 10 ảnhđếm thuốc nhóm thực đề tài BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Kết quả: Hình 5.13: Đếm thuốc loại thành cơng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.14: Đếm thuốc đen loại thành công c Kết điều khiển ứng dụng trêm Arduino Sau trình đếmđốitượng từ chương trình q trình nhúng liệu xuống Matlab xuống kítarduino : Hiển thành thành công “DO AN TOT NGHIEP” hàng LCD HIểnthị thành cơng dòng “Ket qua dem”: dòng thứ LCD Hiểnthị thành cơng kết đếm LCD, kết LCD giao diện người dùng khớp với Ứng dụng hoạt động ổn định, xác đáp ứng yêu cầu ban đầu mà nhóm đặt BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.15: Kết thịđếmđốitượngLCD d Kết thốngkê Kết đếm với đốitượng tế bào: Thốngkê kết đếmảnh chụp cho tế bào khác sau: Số thứ tự Số tế bào có Số tế bào đếm Số tế bào đếm Tỷ lệ ảnh sai 76 75 98% 43 43 100% 44 42 95% 45 45 100% 73 67 91% Bảng 5.1.Kết đếm tế bào BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Kết đếm với đốitượng thuốc: Thốngkê kết đếmảnh chụp cho vỉ thuốc khác mà nhóm cho có độ xác cao sau: Số viên thuốc Số viên thuốc Số viên thuốc có vỉ đếmđếm sai 20 20 100% 5 100% 15 15 100% 8 100% 8 100% Số thứ tự Tỷ lệ Bảng 5.2.Kết đếm thuốc Kết đếm với đốitượng gỗ: Thốngkê kết đếmảnh chụp cho gỗ khác sau: Số có Số đếm Số đếm xe sai 58 51 87% 45 42 93% 18 16 88% 54 50 92% 33 34 97% Số thứ tự Tỷ lệ Bảng 5.3.Kết đếm 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ Đồ án nhóm thực đạt 100% mục tiêu nhóm đặt Điều khiển ứng dụngArduinotươngđối tốt, yêu cầu đặt Tuy nhiên, chưa có nhiều kinh nghiệm nên việc cài đặt giao tiếp Arduino cho Matlab lúc ban đầu gặp nhiều khó khăn làm tốn nhiều thời gian Về tỉ lệ dạng với đốitượng tế bào tỷ lệ là: 85-95% Đối với tế bào nằm rời rạc không bị chồng chéo hay đè lên cho kết cao, ngược BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ lại với tế bào dính, che lấp, chồng chéo lên nên việc đếm xảy sai số tế bào thấp Còn tỉ lệ đếm tỉ lệ nằm khoảng 85-95% Việc sai số đếm phụ thuộc vào viêc xếp dính liền hay có có màu sắc sáng tối khơng rõ ràng nên việc chuyển sang nhị phân hay chọn ngưỡng đếm xảy sai số đốitượngảnhĐối với đốitượngđếm thuốc điều kiện màu vỉ thuốc, màu thuốc hay vật liệu làm vỉ thuốc phong phú nhiều chủng loại nên việc xử lý ảnh đầu vào có kết khác Vì mà đem lại kết có tỷ lệ khác loại thuốc khác nên nhóm chọn lựa đốitượng vỉ thuốc có màu tối, loại thuốc màu tối để mang lại kết phép đếmtươngđối xác Kết đếm số lượng nhiều hạn chế, đốitượng rộng ảnh có cấp độ sáng, màu sắc khác nên ảnh hưởng đến kết đề tài BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau tim hiểu thực đề tài : “ Đếmđốitượng ảnh”, nhóm thực yêu cầu ban đầu Trong trình thực đề tài tìm hiểu lý thuyết cac phương pháp bước tiền xử lý ảnh ban đầu phương pháp đánh nhãn đếmđốitượng thu kết ban đầu sau: Giới thiệu chi tiết phương pháp bước tiền xử lý ảnh Áp dụng giải thuật bước tiền xử lý ảnh ban đầu Giới thệu thuật toán đánh nhãn đốitượngảnh Áp dụng giải thuật phương pháp đánh nhãn đốitượngảnh Nắm phương pháp trình đếmđốitượngảnh Xây dựng thành cơng chương trình dếmđốitượngảnh Bên cạnh nhóm tiếp thu kết tươngđốiđếmđốitượngảnh ứng dụng khác kítArduino phần mềm Matlab Về kết quả, chương trình đạt kết tươngđốiđếmđốitượng Tuy nhiên nhiều hạn chế phụ thuộc vào điều kiện ánh sáng, màu đốitượng đếm, thời gian đếm chậm 6.2 HƯỚNG PHÁT TRIỂN Trong phạm vi đồ án nhóm trình bày thành phần lập trình Matlab Tuy nhiên việc mở rộng mơ hình đếmđốitượng để điều khiển ứng dụng thực tế cần có thời gian nghiên cứu cải tiến Nhóm nghiên cứu nhận thấy phát triển thêm tính sau: Nâng cao tốc độ độ xác đếmđốitươngảnh Có thể đếmđốitượng nào, với kích thước ảnh vào Đếm tất đốitượng mà không phụ thuôc vào màu sắc đốitượng Đếmđốitượng dính, chồng chất có độ xác cao BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 62 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Phân biệt chọn lọc đốitượng cần đếm trường hợp có nhiều đốitượng khác Ứng dụngthốngđếmđốitượngảnh vào thực tiễn như: kiểm soát số lượng đốitượng xí nghiệp, nhà máy, trường học… BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 TÀI LIỀU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Nguyễn Thanh Hải, Giáo trình Xử lý ảnh, Nhà xuất ĐH Quốc Gia TP HCM, 2014 [2] Agus Kurniawan, Arduino Programming using Matlab, 1st Edition, 2015 [3] Hans-Petter Halvorsen, Introduction to ARDUINO, 2008 [4] Ross L.Spencer, Introduction to Matlab, 2000 [5] IEEE Computer Society Executive Briefings Document Image Analysis Lawrence O’Gorman Rangachar Kasturi ISBN 0-8186-7802-X Library of Congress Number 9717283 1997 [6] J.R.Parker, Algorithms for Image Processing and Computer Vision, 2st Edition, 2010 [7] Varun Sharma, Object Counting using MATLAB,2014 [8] Kholoud Alotaibi, Sickle Blood Cell Dedection Based on Image Segmentation, 2016 Trang web tham khảo [9] ARDUINO®, ARDUINO UNO REV3, https://store.arduino.cc/usa/arduino-uno-rev3 [10] Nhận dạng đốitượng viên thuốc tròn, https://text.123doc.org/document/4405702tieu-luan-nhan-dang-doi-tuong-vien-thuoc-hinh-tron.htm [11] Đếm số đốitượng video dùng FPGA, http://doc.edu.vn/tai-lieu/luan-van-demso-doi-tuong-tren-video-dung-fpga-52196/ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 PHỤ LỤC PHỤ LỤC CODE CHUONG TRÌNH ĐẾM TẾ BÀO % CHON ANH DAU VAO TRONG GIAO DIEN [filename path] = uigetfile({'*.jpg';'*.jpeg';'*.png';'*.bmp';'*.tif';'*.*';},'File Selector'); input=strcat(path,filename); global b b= imread(input); imshow(b,'Parent',handles.axes1) guidata(hObject,handles); %% CHUONG TRINH XU LY ANH DAU VAO global b c= rgb2gray (b); %%CHUYEN ANH MAU SANG ANH XAM level=graythresh(c); %% CHON NGUONG TU DONG d=im2bw(c, level); %%CHUYEN ANH NHI PHAN d1=imfill (~d,'holes'); %% LAP DAY LO HAY VUNG TRONG d3=bwareaopen (d1, 10); imshow(d3,'Parent',handles.axes3); [L, n] = bwlabel(d3); %% TIM TONG CAC DOITUONG NHAN labelImageBWCC = bwconncomp(d3,4); image s=regionprops(L,'Centroid'); %% CHON TAM CAC DOITUONG NHAN TIM DUOC %% DANH SO NHAN DOITUONG THEO TAM TIM DUOC hold on for n = 1:numel(s) text(s(n).Centroid(1), s(n).Centroid(2), num2str(n), 'Color', 'r', 'HorizontalAlignment', 'center') end set(handles.text3,'String',n); i=n; guidata(hObject,handles); hold off %% NHUNG KET QUA XUONG ARDUINO global arduino BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 PHỤ LỤC delete(instrfind('Port','COM4')) arduino = serial('COM4','BaudRate',9600); fopen(arduino); while i fprintf(arduino,'%s', char(i)) pause(0.5) end fclose(arduino) %% NGAT CHUONG TRINH ARDUINO global arduino fclose(arduino) delete(arduino) CODE CHƯƠNG TRÌNH ĐẾM CÂY % CHON ANH DAU VAO TRONG GIAO DIEN [filename path] = uigetfile({'*.jpg';'*.jpeg';'*.png';'*.bmp';'*.tif';'*.*';},'File Selector'); input=strcat(path,filename); global b b= imread(input); imshow(b,'Parent',handles.axes1) guidata(hObject,handles); %% CHUONG TRINH XU LY ANH DAU VAO global b c = b(:, :, 2); %% TACH ANH MAU SANG ANH THANH PHAN MAU XANH LA m=medfilt2 (c); %% LOC TRUNG VI bw=im2bw(m,graythresh(m)); %%CHUYEN ANH NHI PHAN VOI NGUONG TU DONG bw1=imfill(bw,'holes'); %% LAP DAY LO HAY VUNG TRONG % creating a flat, disk-shaped structuring element erode=imerode(bw1,strel('disk',17)); %% XOI MON DOITUONG VOI SIZE DIA 17 imshow(erode,'Parent',handles.axes5); guidata(hObject,handles); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 PHỤ LỤC [L, n] = bwlabel(erode); labelImageBWCC = bwconncomp(erode,4); %Find connected components in binary image s=regionprops(L,'Centroid'); %% TIM TAM CAC NHAN DOITUONG TIM DUOC % DANH SO NHAN THEO TAM DOITUONG TIM DUOC hold on for n = 1:numel(s) text(s(n).Centroid(1), s(n).Centroid(2), num2str(n), 'Color', 'r', 'HorizontalAlignment', 'center') end set(handles.text3,'String',n); i=n; guidata(hObject,handles); hold off %% NHUNG KET QUA XUONG ARDUIBNO global arduino delete(instrfind('Port','COM4')) arduino = serial('COM4','BaudRate',9600); fopen(arduino); while i fprintf(arduino,'%s', char(i)) pause(0.5) end fclose(arduino); %% NGAT CHUONG TRINH ARDUINO global arduino fclose(arduino) delete(arduino) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 PHỤ LỤC CODE CHƯƠNG TRÌNH ĐẾM THUỐC %% CHON ANH DAU VAO CHO GIAO DIEN [filename path] = uigetfile({'*.jpg';'*.jpeg';'*.png';'*.bmp';'*.tif';'*.*';},'File Selector'); input=strcat(path,filename); global b b= imread(input); imshow(b,'Parent',handles.axes1) guidata(hObject,handles); %% CHUONG TRINH XU LY ANH DAU VAO global b c = rgb2gray(b); %% ANH MAU SANG ANH XAM d= im2bw(c,graythresh(c));%% CHUYEN SANG ANH NHI PHAN VOI NGUONG TU DONG e=medfilt2(~d); %% LOC TRUNG VI f=imopen(e,strel('disk',16)); %% MO DOITUONG VOI KICH CO DIA 16 imshow(f,'Parent',handles.axes2); [L, n] = bwlabel(f); labelImageBWCC = bwconncomp(f,4); %Find connected components in binary image s=regionprops(L,'Centroid'); % TIM TAM CUA CAC NHAN DOITUONG TIM DUOC %% DANH SO NHAN DOITUONG THEO TAM TIM DUOC hold on for n = 1:numel(s) text(s(n).Centroid(1), s(n).Centroid(2), num2str(n), 'Color', 'r', 'HorizontalAlignment', 'center') end set(handles.text4,'String',n); i=n; guidata(hObject,handles); hold off %% NHUNG KET QUA RA ARDUINO global arduino BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 PHỤ LỤC delete(instrfind('Port','COM4')) arduino = serial('COM4','BaudRate',9600); fopen(arduino); while i fprintf(arduino,'%s', char(i)) pause(0.5) end fclose(arduino); %%NGAT CHUONG TRINH ARDUINO global arduino fclose(arduino) delete(arduino) CODE ARDUINOLCD #include ; int matlabData; #include ; LiquidCrystal_I2C lcd(0x27,16,2); void setup(){ Serial.begin(9600); lcd.init(); lcd.backlight(); lcd.display(); } void loop() { if(Serial.available()) { matlabData=Serial.read(); lcd.setCursor(0,0); lcd.print("DO AN TOT NGHIEP"); lcd.setCursor(0, 1); lcd.print("Ket qua dem:"); lcd.setCursor(13,1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 PHỤ LỤC lcd.print(matlabData); delay(500); } delay(500); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 ... hệ: 2013 Lớp: 13141DT3A I TÊN ĐỀ TÀI: THI T KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM SỐ LƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD II NHIỆM VỤ Các số liệu ban đầu: Bộ ảnh đếm: 30 ảnh gồm 10 ảnh. .. tài: Thi t kế thi công hệ thống đếm đối tượng ảnh sử dụng kit Arduino hiển thị LCD nghiên cứu xây dựng phương pháp xử lý ảnh đầu vào, phương pháp hinh thái học đếm đối tượng ảnh để điều khiể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 HỆ THỐNG ĐẾM ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ