SlideShare a Scribd company logo
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 HỆ THỐNG ĐẾM
ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT
ARDUINO HIỂN THỊ TRÊN LCD
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ẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM
ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT
ARDUINO HIỂN THỊ TRÊN LCD
GVHD: ThS. Nguyễn Duy Thảo
SVTH: Phan Thành Hưng
MSSV: 13141125
Tp. Hồ Chí Minh - 1/2018
ii
TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TP. Hồ Chí Minh, ngày 15 tháng 1 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 ĐỐI TƯỢNG TRONG ẢNH.
1. MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI:
Mục tiêu của đề tài là xây dựng một hệ thống đếm đối tượng trong ảnh được
chụp bằng camera, nhúng dữ liệu đếm được xuống kit Arduino để điều khiển LCD hiển
thị kết quả đếm được
Đề tài sử dụng thuật toán đánh nhãn để đối tượng trong ảnh. Xây dựng giao diện
để người dùng có thể dễ dàng thao tác. Viết hướng dẫn thao tác sử dụng hệ thống.
2. 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 hiện trong đề tài:
STT NỘI DUNG CÔNG VIỆC
1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện.
2
Viết chương trình đếm đối tượng( thuật toán đánh nhãn), điều khiển kit
Arduino.
3 Chỉnh sửa hệ thống.
4 Viết báo cáo.
iii
Họ tên Sinh viên 2: TRẦN VĂN THẠCH
Các công việc thực hiện trong đề tài:
STT NỘI DUNG CÔNG VIỆC
1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện.
2
Viết chương trình đếm đối tượng (thuật toán đánh nhãn), điều khiển kit
Arduino.
3 Chụp ảnh phục vụ cho quá trình đếm đối tượng
4 Chỉnh sửa báo cáo.
SINH VIÊN 1 SINH VIÊN 2
(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)
iv
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 1 năm 2018
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Phan Thành Hưng MSSV: 13141125
Trần Văn Thạch MSSV: 13141304
Chuyên ngành: Kỹ thuật Điện Tử Truyền Thông Mã ngành: 01
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 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Ụ
1. Các số liệu ban đầu:
 Bộ ảnh đếm: 30 ảnh gồm 10 ảnh tế bào, 10 ảnh cây gỗ, 10 ảnh vỉ thuốc.
 Matlab phiên bản 2015a.
 Kit điều khiển chính: Arduino Uno R3, LCD 16x2
2. Nội dung thực hiện:
Đề tài thực hiện nội dung xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu
vào là ảnh chứa các đối tượng( tế bào, cây, vỉ thuốc). Kết quả đếm được sẽ được nhúng
dữ liệu điều khiển tương ứng xuống kit Arduino. Nhóm sẽ thực hiện các nội dung như
sau:
 Tìm hiểu kit Arduino.
 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 các thuật toán đánh nhãn.
 Xây dựng quá trình xử lý ảnh đầu vào.
 Xây dựng hệ thống đếm đối tượng trong ảnh, lập trình các ứng dụng nhúng dữ liệu
trên kit Arduino.
 Đánh giá kết quả thực hiện.
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
v
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ử Độc lập - Tự do - Hạnh phúc
Bộ Môn Điện Tử Công Nghiệp – Y Sinh
Tp. Hồ Chí Minh, ngày 15 tháng 1 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Ế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.
Tuần/ngày Nội dung
Xác nhận
GVHD
Tuần 1,2 Tìm đề tài
Tuần 3 Tìm hiểu hoạt động Arduino và Matlab.
Tuần 4 Cài đặt Matlab, kết nối Arduino với Matlab.
Tuần 5,6 Lập trình Arduino với các chân I/O để nhúng dữ liệu.
Tuần 7,8,9 Lập trình và 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 đối tượng trong ảnh và
chương trình giao diện người dùng.
Tuần 13,14 Hiệu chỉnh toàn bộ 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ý và ghi rõ họ và tên)
vi
LỜI CAM ĐOAN
Chúng tôi cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi
dưới sự hướng dẫn của Thạc sỹ Nguyễn Duy Thảo.
Các kết quả công bố trong ĐATN “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ị LCD” là trung thực và không sao
chép hoàn toàn từ công trình nào khác.
Người thực hiện đề tài
Phan Thành Hưng Trần Văn Thạch
vii
LỜI CẢM ƠN
Trong quá trình làm đồ án tốt nghiệp, chúng em đã nhận được rất nhiều sự ủng
hộ, giúp đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và 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 chỉ bảo trong suốt thời gian
làm luận án tốt nghiệp. Thầy đã tạo nhiều điều kiện và cho những lời khuyên quý báu
giúp chúng em hoàn thành tốt khóa luận.
Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ thuật
Tp.HCM nói chung, các thầy cô trong 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 những kiến thức quý báu và tạo điều
kiện giúp đỡ trong suốt quá trình học tập trong những năm học vừa qua, giúp chúng em
có được 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 và bạn bè, đã luôn tạo điều
kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình học tập và
hoàn thành đồ án tốt nghiệp.
Chúng em xin chân thành cảm ơn!
Người thực hiện đề tài
Phan Thành Hưng Trần Văn Thạch
viii
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 1. TỔNG QUAN.........................................................................................1
1.1. Đặt vấn đề..........................................................................................................1
1.2. Mục tiêu.............................................................................................................2
1.3. Nội dung nghiên cứu. ........................................................................................2
1.4 Giới hạn. ............................................................................................................2
1.5. Bố cục................................................................................................................3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT.............................................................................4
2.1 Giới thiệu xử lý ảnh ...........................................................................................4
2.2 Tổng quan về Matlab. ........................................................................................5
2.3 Giới thiệu lịch sử hình thành Arduino...............................................................6
2.4 Giới thiệu về phần cứng. ...................................................................................8
2.4.1 Kit Arduino Uno. ..............................................................................................8
2.4.2 Giới thiệu về LCD 16x2 ..................................................................................10
2.4.3 Giao tiếp I2C ...................................................................................................11
2.5 Một số phương pháp trong xử lý ảnh...............................................................12
2.5.1 Xử lý điểm ảnh:................................................................................................12
2.5.2 Làm trơn nhiễu bằng 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
ix
2.5.9 Thuật toán đánh nhãn:.....................................................................................25
2.6 Các hàm xử lý trong Matlab. ..........................................................................25
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ.............................................................28
3.1 Giới thiệu.........................................................................................................28
3.2 Thiết kế hệ thống.............................................................................................28
3.2.1 Thiết kế sơ đồ khối hệ thống. ..........................................................................28
3.2.2 Thiết kế các khối hệt thống.............................................................................30
3.3 Tổng quan về phần cứng. ................................................................................32
3.3.1 Tổng quan các khối chính................................................................................32
3.3.2 Board Arduino Uno R3....................................................................................33
3.4 Cài đặt các 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 4. THI CÔNG HỆ THỐNG ....................................................................42
4.1 Giới thiệu.........................................................................................................42
4.2 Thi công hệ thống............................................................................................42
4.3 Lưu đồ hệ thống...............................................................................................43
4.3.1 Tổng quát về hệ thống .....................................................................................43
4.3.2 Chi tiết về 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 trên giao diện......................................................................48
CHƯƠNG 5. KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ.............................................49
5.1 Kết quả.............................................................................................................49
5.1.1 Tổng quan kết quả đạt được. ...........................................................................49
5.1.2 Kết quả thực tế.................................................................................................49
5.2 Nhận xét và đánh giá........................................................................................60
CHƯƠNG 6. 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
xi
LIỆT KÊ HÌNH
Hình Trang
Hình 2.1: Những thành viên khởi xướng Arduino.............................................................. 7
Hình 2.2. Cấu trúc phần cứng của Arduino Uno. ............................................................... 9
Hình 2.3. Hình ảnh LCD................................................................................................... 10
Hình 2.4 : Hình ảnh I2C.................................................................................................... 12
Hình 2.5: Chuyển ảnh màu thành ảnh xám....................................................................... 13
Hình 2.6. Lược đồ xám. .................................................................................................... 14
Hình 2.7. Ảnh xám và ảnh nhị phân. ................................................................................ 14
Hình 2.8. Ngưỡng tự động theo T1 và T2......................................................................... 17
Hình 2.9.a.Đối tượng cần phình A và nhân tạo ảnh B,b.Minh họa quét các b,khắp A .... 19
Hình 2.10.Kết quả của phép toán Dilation........................................................................ 19
Hình 2.11.Kết quả của phép toán Erosion. ....................................................................... 19
Hình 2.12.Vật có cấu trúc đơn giản-hình vuông và phức tạp và hình xoắn ốc................. 21
Hình 2.13. Lưu đồ giải thuật cho thuật toán đánh nhãn.................................................... 22
Hình 2.14. Lưu đồ giải thuật cho toán đánh nhãn............................................................. 23
Hình 2.15 Vật thể màu đen đã được đánh nhãn............................................................... 23
Hình 2.16. Mô phỏng thuật toán đánh nhãn...................................................................... 24
Hình 2.17. Số lượng vật được xác định dựa vào RAM..................................................... 25
Hình 3.1. Sơ đồ quá trình đếm đối tượng......................................................................... 29
Hình 3.2. Sơ đồ nguyên lý khối ứng dụng. ...................................................................... 31
Hình 3.3. Tổng quan các khối........................................................................................... 32
Hình 3.4. Sơ đồ nguyên lý board Arduino Uno R3. ......................................................... 33
Hình 3.5. Sơ đồ chân ATmega328.................................................................................... 34
Hình 3.6. Cầu USB-to-UART........................................................................................... 36
Hình 3.7. Bộ nguồn........................................................................................................... 37
Hình 3.8. Get Hardware Support Package. ....................................................................... 38
Hình 3.9. Cửa sổ “Support Package Installer”.................................................................. 38
Hình 3.10. Giao diện cài Package cho Arduino................................................................ 39
Hình 3.11. Đăng nhập cho cửa sổ “MathWorks Account Log In”. .................................. 39
Hình 3.12.Kết nối Arduino và Matlab thành công............................................................ 40
xii
Hình 3.13.Kết quả trả về khi kết nối I2C.......................................................................... 41
Hình 4.1. Mô hình trong quá trình thực hiện. ................................................................... 42
Hình 4.2. Lưu đồ chính hệ thống. ..................................................................................... 43
Hình 4.3. Lưu đồ đếm đối tượng....................................................................................... 44
Hình 4.4. Lưu đồ chương trình đếm đối tượng................................................................. 45
Hình 4.5. Lưu đồ chương trình dếm đối tượng................................................................. 46
Hình 4.6. Lưu đồ chương trình điều khiển ứng dụng trên Arduino.................................. 47
Hình 4.7. Quy trình thao tác với thuật toán đánh nhãn..................................................... 48
Hình 5.1. Giao diện ban đầu ............................................................................................. 50
Hình 5.2. Giao diện chọn lựa đối tượng đếm.................................................................... 50
Hình 5.3. Giao diện đếm tế bào. ....................................................................................... 51
Hình 5.4. Giao diện đếm cây............................................................................................. 52
Hình 5.5. Giao diện đếm thuốc. ........................................................................................ 52
Hình 5.6. 10 bức ảnh đếm tế bào mà nhóm thực hiền đề tài............................................. 53
Hình 5.7. Đếm tế bào màu hồng thành công..................................................................... 53
Hình 5.8. Đếm tế bào màu tím sạm thành công................................................................ 54
Hình 5.9. 10 Bức ảnh đếm cây mà nhóm thực hiện đề tài................................................ 55
Hình 5.10.Đếm cây loại 1 thành công............................................................................... 55
Hình 5.11. Đếm cây loại 2 thành công.............................................................................. 56
Hình 5.12. 10 bức ảnh đếm thuốc nhóm thực hiện đề tài ................................................. 56
Hình 5.13. Đếm thuốc loại 1 thành công .......................................................................... 57
Hình 5.14. Đếm thuốc đen loại 2 thành công.................................................................... 58
Hình 5.15. Kết quả hiện thị đếm đối tượng ra LCD ......................................................... 59
xiii
LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1. Thông số kỹ thuật Arduino Uno......................................................................... 8
Bảng 2.2:Chức năng các chân của LCD........................................................................... 10
Bảng 2.3 Các hàm xử lý hình ảnh khác trong Matlab. ..................................................... 27
Bảng 5.1.Kết quả đếm tế bào............................................................................................ 40
Bảng 5.2.Kết quả đếm thuốc. ........................................................................................... 60
Bảng 5.3.Kết quả đếm cây................................................................................................ 60
xv
TÓM TẮT
Việc đếm số lượng đối tượng là một nhiêm vụ khá phổ biến trong các ngành
công nghiệp bằng các phương pháp khác nhau. Đếm số lượng đối tượng được sử dụng
để thu được số lượng nhất định các yếu tố từ ảnh. Vì thế, bài toán đếm đối tượng trong
ảnh là một đề tài khá mới mẻ và đang được chú ý để phát triển với phép đếm tự động
bởi tầm nhin máy tính để tiết kiệm thời gian, công sức.
Đề tài: “Thiết kế và thi công hệ thống đếm đối tượng trong ảnh sử dụng kit
Arduino hiển thị trên LCD” nghiên cứu xây dựng phương pháp xử lý ảnh đầu vào,
các phương pháp hinh thái học và đếm đối tượng trong ảnh để điều khiển ứng dụng
trên kit Arduino tương ứng với kết quả giá trị nhận được. Các nội dung nghiên cứu bao
gồm: Tìm hiểu kit Arduino; Tìm hiểu các phương pháp tiền xử lý ảnh ; Tìm hiểu các
phép toán hình thái học; Xây dựng thuật toán đánh nhãn để đếm đối tượng trong ảnh.
Đề tài được xây dựng chủ yếu trên phần mềm Matlab.
Mô hình do nhóm thực hiện đã đạt được mục tiêu do nhóm đặt ra. Hiệu suất
việc đếm đối tượng cao, điều khiển các ứng dụng trên kit Arduino. Tuy nhiên, việc
đếm đối tương còn phụ thuộc nhiều vào môi trường khác nhau như: ánh sáng nền, màu
sắc đối tương nên gây khó khăn cho viêc đếm đối tương sai số.
CHƯƠNG 1.TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1
Chương 1. TỔNG QUAN
1.1. ĐẶT VẤN ĐỀ.
Trong những năm gần đây, mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ
nhưng xử lý ảnh đang được nghiên cứu và phát triển với tốc độ nhanh chóng bởi các trung
tâm nghiên cứu, trường đại học và học viện…với rất nhiều ứng dụng trên các lĩnh vực khác
nhau[1]. Đi cùng với sự phát triển đó, phần lớn các thiết bị điện tử đều dần phát triển theo
hướng tự động hóa, thông minh, có thể giao tiếp, tương tác trực tiếp với người dùng. Đáp
ứng được điều đó rất nhiều bài toán, giải thuật lần lượt giải quyết được vấn đề. Một trong
số đó là bài toán đếm số lượng, phát triển ngày càng hiện đại, yêu cầu độ chính xác ngày
càng cao.
Trong thời đại bùng nổ về công nghệ thông tin như hiện nay, việc đếm số lượng đối
tượng là một nhiệm vụ khá phổ biến được thực hiện nhiều trong các ngành công nghiệp
bằng các phương thức khác nhau. Đếm đối tượng được sử dụng để nhận được một số lượng
nhất định các yếu tố từ hình ảnh. Những yếu tố này hoạt động như một nguồn thông tin để
phân tích định lượng, theo dõi chuyển động và phân tích định tính. Việc đếm số lượng các
đối tượng được thực hiện trong các môi trường khác nhau với khác đối tượng có kích thước,
số lượng khác nhau. Nhưng kết quả đem lại thường không cao, sai số lớn và mất nhiều thời
gian. Vì thế mà việc đếm bằng phương pháp đếm thủ công phải được thay thế bằng đếm tự
động bởi tầm nhìn máy tính. Đếm tự động sẽ giúp chúng ta tiết kiệm được thời gian, công
sức, tăng khả năng chính xác và áp dụng cho nhiều đối tượng khác nhau chẳng hạn như:
đếm tế bào, cá, trứng, ic, xe …
Ở nước ta hiện nay, lĩnh vực đếm trong xử lý ảnh đã có nhũng phát triển đáng kể. Tuy
nhiên nó chỉ mới phát triển dựa trên nền tảng phần cứng và chưa được áp dụng rỗng rãi
trong thực tế. Vệc giải quyết bài toán này theo hướng tiếp cận sử dụng phần mềm chưa
được quan tâm phát triển
Xuất phát từ mục tiêu tiếp cận, bổ sung các kiến thức mới, cũng như củng cố lại
những kỹ năng kiến thức trong suốt quá trình học tập tại trường. Đồng thời nghiên cứu sâu
CHƯƠNG 1.TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2
hơn về ứng dụng của xử lý ảnh, nghiên cứu các thuật đếm đối tượng trong ảnh và thực hiện
đếm đối tượng rồi nhúng dữ liệu xuống kit Arduino[2].
Do đó, nhóm thực hiện đồ án chọn đề tài: “Đếm đối tượng trong ảnh”.
1.2. MỤC TIÊU.
Mục tiêu của đề tài là xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu vào là
ảnh có chứa đố tượng cần đếm từ ảnh chụp. Với số lượng đối tượng đếm được sẽ được sẽ
nhúng dữ liệu điều khiển tương ứng xuống kit Arduino.
1.3. NỘI DUNG NGHIÊN CỨU.
Mục tiêu xây dựng hệ thống: “Đếm đối tượng qua hình ảnh ” như trên thì nhóm sẽ
thực hiện những nội dung như sau:
 NỘI DUNG 1: Tìm hiểu kit Arduino.
 NỘI DUNG 2: Cài đặt nguồn thư viện cho kit Arduino, cách kết nối module Arduino
với phần mềm Matlab.
 NỘI DUNG 3: Tìm hiểu các thuật toán cần thiết liên quan đến đếm đối tương trong
ảnh.
 NỘI DUNG 4: Xây dựng thuật toán tạo cơ sở dữ liệu cần thiết cho mục đích đếm
đối tượng.
 NỘI DUNG 5: Xây dựng hệ thống đếm đối tượng qua hình ảnh , lập trình các ứng
dụng nhúng dữ liệu trên kit Arduino.
 NỘI DUNG 6: Đánh giá kết quả thực hiện.
1.4 GIỚI HẠN.
Mô hình gồm có kit Arduino Uno, máy tính Laptop để thực hiện hệ thống đếm đối
tượng qua hình ảnh trên phần mềm Matlab sau đó nhúng dữ liệu xuống kit Arduino.
Hệ thống nhận dạng ảnh với kích thước 128x128 với các phương pháp tiền xử lý
ảnh đầu vào và thuật toán đánh nhãn để đếm các đối tượng có trong ảnh . Ảnh chụp từ
camera điện thoại.
CHƯƠNG 1.TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3
1.5. BỐ CỤC.
Đồ án tốt nghiệp: “Đếm đối tượng trong ảnh” trình bày trong 6 chương với bố cục
như sau:
 Chương 1: Tổng quan.
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung
nghiên cứu, các giới hạn thông số và bố cục đồ án.
 Chương 2: Cơ sở lý thuyết.
Giới thiệu về phần Matlab, giới thiệu về Arduino, giới thiệu về xử lý ảnh
Giới thiệu về kit Arduino, LCD và I2C.
Giới thiệu về các phương pháp trong quá trình xử lý ảnh đầu vào. Giới thiệu về
thuật toán đánh nhãn trong việc đếm đối tượng.
 Chương 3: Thiết kế và tính toán.
Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế chương trình cho hệ thống
đếm đối tượng qua hình ảnh được viết trên phần mềm Matlab, sử dụng thư viện của Matlab
cho kit Arduino.
 Chương 4: Thi công hệ thống.
Xây dựng chương trình hoàn chỉnh cho toàn hệ thống, các hàm, các lưu đồ, các
chương trình được sử dụng. Lắp ráp và chạy chương trình. Viết tài liệu hướng dẫn sử dụng,
quy trình thao tác.
 Chương 5: Kết quả, nhận xét và đánh giá.
Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh giá
kết quả thực thi được.
 Chương 6: Kết luận và hướng phát triển.
Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng phát triển
trong tương lai.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4
Chƣơng 2. CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU XỬ LÝ ẢNH[1]
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa
học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh,
kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng
cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay.
Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên
phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các
khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Thứ
hai, các công cụ toán như Đại số tuyến tính, Sác xuất, thống kê. Một số kiến thứ cần thiết
như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được đề cập trong quá trình phân tích và
nhận dạng ảnh.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo
được truyền qua cáp từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao
chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng cao
chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải thích
được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý
ảnh sô thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ
mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm
1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển
không ngừng. Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật
toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và
thu nhiều kết quả khả quan.
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên
từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước
đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5
sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó
được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Máy ảnh số hiện nay
là một thí dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh
chụp bằng máy quét ảnh.
2.2 TỔNG QUAN VỀ MATLAB[4].
Matlab (Matrix Laboratory) là một môi trường tính toán số và lập trình, được thiết
kế bởi công ty MathWorks, là ngôn ngữ lập trình thực hành bậc cao được sử dụng nhiều
để giải các bài toán kỹ thuật. Matlab tích hợp việc tính toán thể hiện kết quả cho phép lập
trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với thư viện được
lập trình sẵn cho phép người dùng có được những ứng dụng như:
 Tính toán các phép toán học thông thường, tính toán ma trận.
 Lập trình tạo ra những ứng dụng mới.
 Cho phép mô phỏng các mô hình thực tế.
 Phân tích, khảo sát, hiển thị dữ liệu.
 Với phần mềm đồ họa cực mạnh.
 Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các
ngôn ngữ lập trình truyền thống như C, C++, và Fortran.
Matlab là một hệ thống tương giao chúng cho phép giải quyết các vấn đề liên quan
đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay vector và có
thể sử dụng ngôn ngữ C hoặc Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng
các câu lệnh gọi từ Matlab.
Matlab được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền
thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay
tính toán sinh học. Matlab cung cấp giải pháp chuyên dụng gọi là Toolbox. Toolbox là
một tập hợp toàn diện các hàm của Matlab (M-file).
Hệ thống Matlab gồm 5 phần chính:
 Ngôn ngữ Matlab: Cho phép lập trình từ các ứng dụng nhỏ đến phức tạp. Đó là các
ngôn ngữ cao về ma trận và mảng, các dòng lệnh, các hàm, cấu trúc dữ liệu vào.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6
 Môi trường làm việc: Bao gồm các phương tiện cho việc quản lý các biến trong
không gian làm việc Workspace cũng như xuất nhập dữ liệu. Nó cũng bao gồm các công
cụ phát triển, quản lý, gỡ rối và định hình M-file.
 Xử lý đồ họa: Bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và
ba chiều, xử lý ảnh, ảnh động. Cung cấp các giao diện tương tác giữa người sử dụng và
máy tính.
 Thư viện toán học: Các hàm cơ bản như cộng, trừ, nhân, chia, sin, cos …và các
hàm phức tạp như tính ma trận nghịch đảo, trị riêng, chuyển đổi fourier, laplace, symbolic
library.
 Giao diện người dùng (Application Program Interface): Cho phép viết chương
trình tương tác với các ngôn ngữ khác C, Fortran ...
Simulink là một chương trình đi kèm với Matlab, là một hệ thống tương tác với
việc mô phỏng các hệ thống động phi tuyến, mô phỏng mạch.
2.3 GIỚI THIỆU LỊCH SỬ HÌNH THÀNH ARDUINO[3].
Arduino thực sự đã gây sóng gió trên thị trường người dung DIY ( là những người
tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với
những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng người dung cực lớn
và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho ngay cả những
người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7
Hình 2.1: Những thành viên khởi xướng Arduino
Arduino là gì mà có thể ngay cả nhũng sinh viên và nhà nghiên cứu tại các trường
đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng, hoặc ngay cả
google cũng muốn hỗ trợ hi cho ra đời bộ kít Arduino mega ADK dung để phát triển trên
các ứng dụng tương tác với cảm biến với các thiết bị khác?
Arduino thật ra là một bo mạch vi xử lý được dung để lập trình tương tác với các
thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật
của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập
trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập
trình và điều hiển làm nên hiện tượng Arduino chính là mức giá thấy với tính chấ nguồn
mở từ phần cứng tới phần mềm chỉ cới khoảng $30, người dung đã có thể sở hữu board
Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào
thế kỷ thứ 9 là King Arduino, Arduino chính thức được đưa ra giới thiệu vào năm 2005
như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một
trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea
(IDII). Mặt dù hầu như không được tiếp thị gì cả, tin tức về arduino vẫn lan truyền với tốc
độ chóng mặt nhờ những lời truyền miệng tốt đẹp của nhũng người dung đầu tiên. Hiện
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8
nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nói đã sản
sinh ra Arduino.
2.4 GIỚI THIỆU PHẦN CỨNG.
2.4.1 Kit Arduino Uno[3].
Kit Arduino có nhiều phiên bản với tính năng và mục đích sử dụng khác nhau.
Board Arduino Uno là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí
và tính linh động của nó.
Arduino Uno là một board mạch vi điều khiển dựa trên chip Atmega328 với 14
chân vào/ra bằng tín hiệu số được đánh số từ 0 đến 13, trong đó 6 chân có thể tạo xung
PWM được đánh dấu “~” trước mã số của chân, 6 chân nhận tín hiệu analog được đánh
dấu từ A0 đến A5, có thể sử dụng như là 6 chân I/O số. Có 2 mức điện áp là 0V và 5V với
dòng vào/ra tối đa trên mỗi chân là 30 mA.
Vi điều khiển Atmega328P họ 8 bit
Điện áp hoạt động 5V
Điện áp đầu vào 7-12V
Điện áp đầu vào giới hạn 6-20V
Số chân Digital I/O 14 (có 6 chân PWM)
Số chân Analog 6 ( độ phân giải 10bit)
DC current per I/O pin 20mA
DC current for 3.3V pin 50mA
Flash Memory 32KB (ATmega328P)
SRAM 2KB (Atmega328P)
EEPROM 1KB (Atmega328P)
Clock Speed 16MHZ
Length 68.6 mm
Width 53.4 mm
Weight 25 g
Bảng 2.1. Thông số kỹ thuật Arduino Uno.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9
Hình 2.2. Cấu trúc phần cứng của Arduino Uno.
 Cổng USB(1): Cổng USB dùng để kết nối với máy tính và thông qua đó để upload
chương trình cho Arduino từ máy tính, đồng thời cung cấp nguồn cho Arduino.
 Nguồn (2 và 4): Sử dụng jack cắm nguồn 2.1mm (cực dương ở giữa) hoặc có thể
dùng chân Vin và GND để cấp nguồn cho Arduino. Board mạch hoạt động ở điện áp
ngoài khoảng 5-20V, nhưng nếu cấp nguồn lớn hơn 5V thì ngõ ra chân 5V sẽ lớn hơn,
không nên cấp nguồn lớn hơn 12V vì board sẽ nóng và dễ bị hỏng. Chân 5V và chân 3.3v
là 2 chân lấy nguồn từ Arduino ra ngoài, không được cấp nguồn vào nó, sẽ làm hỏng.
 Chip Atmega328P(6): Có 32KB bộ nhớ flash trong đó có 0.5KB dùng cho
bootloader, 2KB SRAM, 1KB EEPROM.
 Output và Input (3 và 5): Arduino có 14 chân Digital với các chức năng Input và
Output.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10
2.4.2 Giới thiệu về LCD 16x2
Hình 2.3. Hình ảnh LCD
- Các tính năng chính của LCD
• 5 x 8 chấm với con trỏ.
• Tích hợp bộ điều khiển (KS 0.066 hoặc tương đương).
• Cấp điện +5V (Ngoài ra có sẵn cho + 3V).
• 1 / 16 nhiệm vụ chu kỳ.
• B / L sẽ được điều khiển bởi pin 1, pin 2 hay pin 15, pin 16 hoặc AK (LED).
• N.V. tùy chọn cho + 3V cấp điện.
- Chức năng các chân của LCD:
Chân Ký hiệu Mô tả
1 VSS
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển.
2 VDD
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển.
3 VEE Điều chỉnh độ tương phản của LCD.
4 RS
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD
(ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11
Bảng 2.2.Chức năng các chân của LCD.
2.4.3 Giao tiếp I2C
Thông thường, để sử dụng màn hình LCD bạn sẽ phải mất rất nhiều chân Arduino
để điều khiển.Do vậy, để đơn giản hóa công việc người ta đã tạo ra một mạch điều khiển
màn hình LCD sử dụng giao tiếp I2C. Nói một cách đơn giản, bạn chỉ tốn hai dây để điều
khiển màn hình thay vì 8 dây như cách thống thường thường làm.
chế độ “đọc” - read).
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.
5 R/W
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để
LCD ở chế độ đọc.
6 E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép
của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào( chấp
nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low
transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát
hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp.
7 - 14 DB0÷DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU.
Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB
là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới
DB7, bit MSB là DB7.
15 A Nguồn dương cho đèn nền
16 K GND cho đèn nền
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12
Hình 2.4 : Hình ảnh I2C.
Ở đây đối với LCD 16x2 dùng module I2C địa chỉ tùy thuộc vào jump cắm trên
module I2C. Để biết địa chỉ I2C đang dùng ta vào Arduino và cho chương trình I2C
scanner để quét địa chỉ dùng cho I2C đang sử dụng. Và địa chỉ mà quét được cho I2C của
mình là 0x27.
I2C sử dụng hai đường truyền tín hiệu:
 Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở
100Khz và 400Khz Mức cao nhất là 1Mhz và 3.4Mhz)
 Một đường dữ liệu( SDA) theo 2 hướng.
2.5 MỘT SỐ PHƢƠNG PHÁP TRONG XỬ LÝ ẢNH.[6]
2.5.1 Xử lý điểm ảnh:
Ảnh thu về trước xử lý thông thường là những ảnh màu, nghĩa là một pixel bao
gồm thông tin ba màu cơ bản là R(đỏ), G(xanh lá), B(xanh biển). Ba màu này được bố trí
sát nhau tạo thành các màu khả biến. Mỗi mày R, G, được biểu diễn bởi 8 bits. Như vây
mỗi pixel có giá trị 24bits, biểu diễn được khoảng 16,78 triệu màu.
Dữ liệu ảnh thu về là ma trận gồm các giá trị 24bits, điều này sẽ gây độ phức tạp
rất lớn cho việc xử lý. Nhưng khi ta cần khôi phục ảnh, các pixel sẽ giữ được gần với
nguyên gốc nhất. Việc có xử lý trực tiếp trên các pixel mày này hay không phụ thuộc vào
mục đích khôi phục ảnh hay chỉ nhằm thu nhận dạng ảnh.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 13
Phần lớn trường hợp, dữ liệu ảnh được xử lý nhằm thực hiện điều khiển nào đó, do
đó ảnh không cần thiết phải khôi phục. Vì vậy, ta cần giảm số bit thông tin biểu diễn 1
pixel để việc xử lý thuận tiện hơn.
a. Biến ảnh màu thành ảnh xám:
Trong ảnh xám, mỗi pixel có giá trị 8 bits thông tin. Ở mức này, cấu trúc ảnh vẫn
giữ nguyên, giá trị ma trận ảnh đơn giản rất nhiều. Phù hợp với quá trình xử lý chỉ quan
tâm đến cấu trúc ảnh mà không cần đến màu sắc ảnh. Công thức được sử dụng phổ biến
đổi ảnh màu thành ảnh xám là:
P = aCr + bCb + cCg (2.1)
Trong đó: Cr, Cb, Cg là các giá trị mức màu R,B,G. Tùy theo mức độ thu
nhận ảnh màu gốc hoặc tùy theo các thiết bị thu nhận mà hệ số a,b,c có các giá trị khác
nhau sao cho(a+b+c) <=1.
Hình 2.5: Chuyển ảnh màu thành ảnh xám
b. Lƣợc đồ xám:
Là một biểu đồ với trục tung là mức xám, trục hoành là các pixel. Lược đồ này
biểu diễn tần suất xuất hiện của các mức xám trên ảnh. Do ảnh đôi khi được chụp ở nơi
quá sáng hay quá tối sẽ làm cấu trúc ảnh không rõ ràng, dựa vào lược đồ xám, ta có thể
làm nổi bật cấu trúc ảnh lên.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14
Hình 2.6. Lược đồ xám.
Điều này rất cần thiết cho việc nhận dạng ảnh, nhất là với các ảnh chứa nhiều chi
tiết thì lại càng quan trọng.
c. Nhị phân hóa ảnh:
Đây là cách biến đổi các giá trị pixel của ảnh sang giá trị nhị phân (đơn giản nhất)
0 hoặc 1 Khi đó ma trận ảnh sẽ ở mức tối thiểu giá trị giúp việc xử lý đơn giản nhất
nhưng đôi khi gây sai lệch cấu trúc ảnh (do các đường viền khác biệt nhỏ dễ bị đồng hóa).
Đây chỉ là bước xử lý cho các ảnh có ít chi tiết.
Để nhị phân hóa ảnh, ta dựa vào ngưỡng xám trung bình, nếu lớn hơn thì đưa giá
trị về 1, nhỏ hơn thì đưa về 0 (thực chất là mức 0 và 255 thể hiện 2 màu đen và trắng).
Hình 2.7.: Ảnh xám và ảnh nhị phân
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 15
2.5.2 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung bình và lọc dải thông thấp
Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc
thích hợp. Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc thông thấp, trung bình và lọc
đồng hình (Homomorphie); với nhiễu xung ta dùng lọc trung bị, giả trung vị, lọc ngoài
(Outlier)
a. Lọc trung bình không gian
Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các
điểm lân cận và được định nghĩa như sau:
v(m,n) = ∑ ∑ ( ) ( )( ) (2.4)
Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương trình trên sẽ trở
thành:
v(m,n) = ∑ ∑ ( )( ) (2.5)
với : y(m, n): ảnh đầu vào,
v(m, n): ảnh đầu ra,
a(k, l) : là cửa sổ lọc.
với ak,l = và Nw là số điểm ảnh trong cửa sổ lọc W.
b. Lọc đồng hình (Homomorphie Filter)
Kỹ thuật lọc này hiệu quả với ảnh có nhiễu nhân. Thực tế, ảnh quan sát được gồm
ảnh gốc nhân với một hệ số nhiễu. Gọi X (m, n) là ảnh thu được, X(m, n) là ảnh gốc và
η(m, n) là nhiễu, như vậy:
X(m, n) = X (m,n) * η(m, n ) (2.9)
Lọc đồng hình thực hiện lấy logarit của ảnh quan sát. Do vậy ta có kết quả sau:
Log(X(m, n)) = log( X (m,n) ) + log( η(m, n)) (2.10)
Rõ ràng, nhiễu nhân có trong ảnh sẽ bị giảm. Sau quá trình lọc tuyến tính, ta
chuyển về ảnh cũ bằng phép biến đổi hàm e mũ.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 16
2.5.3 Nhị phân hóa ngƣỡng động
 Nhị phân hóa theo ngưỡng tự động với ý tưởng sau:
- Chia tấm ảnh thành nhiều khu vực, cửa sổ khác nhau
- Dùng một thuật toán để tìm một giá trị T phù hợp với từng khu vực, cửa sổ
(Region).
- Áp dụng phương pháp nhị phân hóa cho từngkhu vực, cửa sổ (Region) với T phù
hợp.
Điều quan trọng trong kĩ thuật này là phải tìm một giá trị T phù hợp với từng khu
vực, cửa sổ (Region) hoặc cả tấm ảnh. Có rất nhiều phương pháp để tìm T, ở nội dung
tiếp theo tôi sẽ giới thiệu một số thuật toán giúp tìm kiếm giá trị T này.
 Thuật toán Otsu
Bƣớc 1: Xác định T1. Giá trị cho T1 ban đầu nên chọn là (0+255) / 2 = 128.
Bƣớc 2: Phân loại thành 2 nhóm điểm ảnh.
 Loại 1 (Type1): chứa tất cả các điểm ảnh có giá trị cường độ sáng (Intensity)
<= T.
 Loại 2 (Type2): chứa tất cả các điểm ảnh có giá trị cường độ sáng (Intensity) > T.
Bƣớc 3: Tính giá trị cường độ sáng trung bình (iAverage) cho Type1 (iAverage1) và
Type2 (iAverage2).
Bƣớc 4: Tính giá trị T2 theo công thức (iAverage1 + iAverage2) /2.
Bƣớc 5: So sánh T1 và T2.
 Nếu giá trị chênh lệch của T1 và T2 <= Delta (một giá trị cho trước) thì T2 chính
là T cần tìm.
 Nếu giá trị chênh lệch của T1 và T2 > Delta Deltal thì quay lại Bƣớc 1.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 17
Hình 2.8: Ngƣỡng tự động theo T1 và T2.
2.5.4 Phân vùng ảnh:
Là bước xác định vật thể trong ảnh, bằng cách trích lọc ra vùng có cùng tính chất
dựa vào sự đồng nhất về mức xám giữa những pixel. Sau khi phân vùng ảnh, ta sẽ có
được vật thể xác định trên ảnh tách biệt với các chi tiết thừa trong hình. Hạn chế là ta chỉ
nhận được các vật tách biệt nhau còn với các ảnh nhiều chi tiết, kết quả phân vùng sẽ
không chính xác.
Đối với cấu trúc ảnh nhị phân, các pixel chỉ mang giá trị 0 hoặc 1 nên việc phân
vùng ảnh rất quan trọng nhằm loại bỏ nhiễu, phân tách các vật thể gần nhau hay định rõ
một vật thể với các đường liên kết nhỏ.
Phương pháp khả thi nhất cho việc phân vùng ảnh nhị phân là làm mảnh và làm đầy:
- Làm mảnh: loại bỏ hoàn toàn các nhiễu trong vật thể hay trên biên, tách biệt các
vật với nhau.
- Làm đầy : đưa các vùng ảnh khôi phục như ban đầu
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 18
Tùy theo mục đích và yêu cầu hệ thống, ta có thể sử dụng một vài bước trên để lấy
thông tin cần thiết cho việc xử lý ảnh. Đó có thể đơn giản là nhận biết sự khác nhau giữa
2 hình nhằm xác định chuyển động hoặc phức tạp cần đến độ chính xác cao như nhận biết
dấu vân tay đối tượng định trước …
2.5.5 Phép toán Dilation.
Phép toán Dilation là thao tác giãn nở/ phình to các đối tượng ảnh đơn sắc A và B
là hai tập hợp con trong Z2
, thực hiện phép toán Dilation trong A theo B, kí hiệu là A
B và được xác định như sau : A B = {z | ̂z A }.
Trong Matlab, ta có hàm Dilation như sau: imdilate.
B chính là nhân tạo hình. Trong Matlab, chương trình cũng cung cấp cho ta nhiều
nhân tạo hình khác nhau, để biết them chí tiết gõ help strel. Trong thực tế, người ta chọn
những nhân tạo ảnh sao cho B = ̂, tức là sử dụng nhân tạo ảnh có các phần tử trong nhân
tạo ảnh đối xứng qua chính tâm của nó. Bên cạnh đó, với việc ta lê những cái tâm z của
nhân tạo ảnh B ảnh đi khắp A và tìm những điểm nào mà B A thì ta có thể hiểu
như A B = UbiAbi với Abi là những khu vực mà A Bi . Có thể xem hình minh
họa dưới đây:
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19
Hình 2.9.a.Đối tượng cần phình A và nhân tạo ảnh B b.Minh họa quét các b,khắp A
Hình 2.10. Kết quả của phép toán Dilation.
2.5.6 Phép toán Erosion.
Phép toán Erosion là thao tác xói mòn/ co hẹp các đối tượng ảnh đơn sắc. A và B là
hai tập hợp con trong Zz
, thực hiện phép toán Erosion trong A theo B, kí hiệu là A B
và được xác định như sau: A B = { p }
Tương tự, trong Matlab ta cũng có hàm Eosion như sau: imerode
Để minh họa cách thức phép toán hoạt động có thể xem hình phía dưới với A và B
tương tự như ví dụ ở phép toán Dilation.
Hình 2.11.Kết quả của phép toán Erosion.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20
2.5.7 Phép toán Openning.
Phép toán Openning của hình A theo nhân tạo hình B kí hiệu là
A B = (A B ) B.
Theo một định nghĩa khác tương đương dựa vào hình học ta có:
A B = {Bz |BZ }.
Tác dụng của phép toán Openning là loại bỏ nhũng đối tượng không đủ lớn để
nhân tạo hình (góc), làm trơn biên, tách rời mấu liên kết với những đối tượng lớn và
nhánh con. Trong Matlab hàm hỗ trợ phép toán này là imopen
2.5.8 Phép toán closing
Phép toán Closing của hình A theo nhân tạo hinh B kí hiệu là:
A B = (A ) B.
Tác dụng của phép toán này là làm trơn biên, nối liền những mẫu rời nhau, lắp đầy
các lỗ nhỏ. Trong Matlab hàm để sử dụng là imclose. Ngoài ra ta còn có một số tính chất
cần lưu tâm sau đây:
2.4.9 Thuật toán đánh nhãn:
Khi nhận data hình, ta nhận từng pixel một theo chiều từ trái sang phải, từ trên
xuống dưới. Việc xử lý có thể được thực hiện giữa các lines hoặc các frames hình. Do hạn
chế về tài nguyên của các board xử lý hình ảnh, mà cụ thể là Ram, ta không thể lưu cả 1
frames ảnh để dành đến cuối khung hình mới xử lý, vậy ta chọn cách thực thi thuật toán
giữa các lines.
Cấu trúc của đối tượng trong hình có thể đơn giản như hình vuông, chữ nhật …
nhưng cũng có thể rất phức tạp như hình sao, hình lục giác…độ lớn cũng khác nhau, trải
dài trên nhiều lines và ở mọi vị trí trên hình ảnh. Ta chỉ có thể nhận và xử lý lines từ trên
xuống dưới, các lines đã qua xử lý không thể giữ lại nên nếu gặp một phần của đối tượng
nằm ở lines bất kì bên dưới, không thể dùng so sánh để biết nó có thuộc đối tượng nào ở
trên hay không.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21
Hình 2.12 : Vật có cấu trúc đơn giản-hình vuông và phức tạp và hình xoắn ốc.
Cách giải quyết vấn đề này là đánh nhãn đối tượng. Với mỗi pixel nhận được, ta
đánh số cho pixel đó, các pixel ở cạnh nhau mà cùng thuộc vật thể( có giá trị “1” khi nhận
từ bước tiền xử lý) sẽ được gán cùng một nhãn( nhãn là một giá trị nào đó theo thứ tự số).
Vậy cần lưu lại ít nhất 1 line ở trên để so sánh, điều này có thể thực hiện được bởi 1 line
gồm 1024 Pixels, không quá nhiều. Do hạn chế của cách hoạt động trên phần cứng, ta chỉ
có thể so sánh mỗi pixels ở trên và phía trước nó chứ không thể so sánh toàn bộ các pixels
xung quanh.
Ví dụ với các hình vuông và chữ nhật ở trên, với hình vuông gồm 9 pixels, 9 pixels
đó đều mang nhãn số 1, tương tự cho hình vuông 4 pixels, 4pixels đó đều mang nhãn là số
2…Nhưng với hình xoắn ốc, cách đánh nhãn này không chính xác, bởi càng xuống phía
dưới, nhãn đánh lên các pixel càng khác nhau.
Nhằm thỏa vấn đề này, ta sử dụng cách đánh nhãn có giá trị. Với mỗi nhãn được
đánh cho các pixels, ta đi đính kèm với nó có một giá trị. Tức con số gán lên pixel là địa
chỉ, địa chỉ này tất nhiên sẽ chứa (hay chỉ đến, dạng con trỏ) một giá trị khác. Như vậy,
mục đích là từ một vật thể mang nhiều nhãn khác nhau nhưng các nhãn đều có cùng 1 giá
trị, xét theo giá trị thì chúng cùng một đối tượng. Nếu 2 nhãn khác nhau liền kề, ta chỉ cần
cập nhật giá trị cho nhãn có số lớn hơn, do ưu tiên các số nhỏ.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22
Sau đây là sơ đồ giải thuật của thuật toán, với các ghi chú:
 Pixel_in: pixel nhận vào theo thứ tự
 Pixel_up: pixel ở bên trên pixel đang xét.
 Pixel_focus: pixel đang đươc xử lý.
 Pixel_pre: pixel phía trước pixel đang xét
 Count: biến đếm dùng làm nhãn đối tượng.
Hình 2.13: Lưu đồ giải thuật cho thuật toán đánh nhãn
Thuật toán hoạt động cụ thể nhu sau: pixel lấy vào nếu có giá trị lơn hơn 127, tức
là thuộc nền, thay bằng pixel_in có giá trị “0”, ngược lại là “1” như đã nói ở trên. Nếu là
nền thì bỏ qua, nhưng nếu là vật thể thì xét pixel_up ở trên ở trên đã đánh nhãn rồi thì cứ
theo đó mà gán giá trị vào, còn không phải vật thì xét pixel_pre ở trước, phía trước là vật
thể thì theo đó mà đánh nhãn. Nếu cả trên và phía trước đều chưa có nhãn, ta đánh nhãn
mới cho pixel này. Việc này thực thi tuần tự với mỗi pixel vào, không dừng lại cho đến
khi dừng xử lý bởi người dùng. Việc cập nhật giá trị cho nhãn được thực thi khi
BEGIN
Pixel_in=1
Pixel_up=0
0
Pixel_pre=0
Pixel_focus=pixel_up
Pixel_focus=pixel_pre
Pixel_focus=count+
1
Pixel_in
N
N
N
Y
Y
Y
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23
pixel_forcus gán theo nhãn pixel_up nhưng pixel_pre đã có nhãn. Đến đâu pixel_focus
và pixel_pre liền kề nhau mang nhãn khác nhau, vậy nhãn nào nhỏ hơn thì lấy giá trị nhãn
đó chung cho cả hai. Nhãn là chuỗi số tăng dần có chứa giá trị, vậy trong phần cứng, đó
chính là Ram. Còn để lưu lại cả một line rồi lấy dần ra làm pixel_up, bộ Fifo( First in first
out) chính là lựa chọn tốt nhất. Việc sử dụng các pixel phía trên và phía trước này cụ thể
như sau:
Hình 2.14. Lưu đồ giải thuật cho toán đánh nhãn
Để dễ hiểu hơn việc cập nhật giá trị cho các nhãn, ta xem thử vật thể sau:
Hình 2.15: Vật thể màu đen đã được đánh nhãn
Các nhãn liền kề bị khác nhau và cần cập nhật giá trị lai tại các vị trí “2!” và “1!”.
Nhìn cách cập nhât giá trị này có vẻ phức tạp bởi ta có thể xét lại từ đầu line lần nữa và
đổi giá trị các nhãn cần thay. Nhưng giả sử gặp phải vật thể kéo dài đến cuối mép phải
khung hình mới phải cập nhật, ta cần khoảng 1023 clocks trong trường hợp xấu nhất, điều
Pixel_up FIFO
VGA Pixel_in Pixel_focus
Pixel_pre
Analysis
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 24
này là không thể đối với hệ thống xử lý thời gian thực. Ram được sử dụng trong trường
hợp cụ thể này như sau:
Hình 2.16. : Mô phỏng thuật toán đánh nhãn.
Ô nhớ mang địa chỉ “0” trong Ram không được sử dụng bởi nó trùng giá trị với
“giá trị nền” của pixel_in. Đây là lý do ta chọn nền là “0”, vật thể là “1”, giúp sử dụng
được hết các ô nhớ Ram. Số lượng vật thể đếm được cũng theo đó mà được tối ưu. Ví dụ
như Ram sử dụng có độ dài 10bits ta theo đó đếm được 1022 vật thể
Thực tế nếu trong hình có nhiều đối tượng có cấu trúc phức tạp, hay nhiều đường
cong, biết Count dùng để đánh nhãn sẽ nhanh chóng bị tràn cho dù có dùng độ dài bít lớn
đến đâu đi nữa. Chẳng hạn với ví dụ trên ta có thể thấy một vật nhưng có đến 3 nhãn, điều
này làm phung phí tài nguyên không cần thiết.Vấn đề ảy sinh tiếp theo là tìm cách sử
dụng lại những nhãn không cần thiết nữa, một đối tượng dùng một nhãn là đủ.
Cách giải quyết hiệu quả nhất là dùng bộ Fifo. Các nhãn đã được cập nhật thay đổi
giá trị sẽ đưa vào nó Fifo lưu trữ, khi cần sẽ lấy ra theo thứ tự, điều này giúp các nhãn
được sử dụng dồn hẳng về đầu Ram, tức là các địa chỉ có giá trị nhỏ, theo kiểu sắp xếp,
thuận lợi cho việc xác định vật thể sau này.
Để đếm số lượng vật thể trong ảnh, ta đếm dựa vào các ô nhớ trong RAM. Xét lần
lượt các địa chỉ của RAM, nếu địa chỉ ô nhớ giống với các giá trị trong đó thì được một
vật thể, trừ địa chỉ ô nhớ”0”. Việc này thực thi vào cuối mỗi Frame hình, khi có cạnh lên
hoặc cạnh xuống của vsync tùy theo thuật toán sử dụng sao cho phù hợp giữa chốt lấy giá
trị biến đếm number và reset các biến.
Theo ví dụ trên các nhãn 1, 2, 3 đều có chung giá trị 1, vậy chúng cùng thuộc một
đối tượng, nhãn 4 đối tượng tiếp theo, cứ thế cho đến ô địa chỉ RAM cuối cùng.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25
Hình 2.17 : Số lượng vật được xác định dựa vào RAM
2.4 CÁC HÀM XỬ LÝ TRONG MATLAB[4].
Các hàm chính hiển thị ảnh trong matlab:
 Hàm image(x,y,c): Hiển thị hình ảnh biểu diễn bởi ma trận c kích thước m x n lên
hệ trục tọa độ, x,y là các vector xác định vị trí của các pixel c(m,n).
 Hàm imagesc: Tương tự hàm image, dữ liệu ảnh sẽ được co giãn để sử dụng toàn
bộ bản đồ màu hiện hành.
 Hàm imshow: Cho phép hiển thị ảnh trên một figure và tự động thiết lập giá trị các
đối tượng image, axes, figure để hiển thị hình ảnh.
Các hàm khác được sử dụng trong đề tài:
 T=strcat(s1,s2,s3…): Ghép các chuỗi lại với nhau, trả về chuỗi nối tiếp s1s2s3…
 length(): Lấy chiều dài.
 T=dir(pathname): Lấy thông tin của một Folder bao gồm: Số file chứa trong
folder, tên file, ngày tạo, kích thước file…
 S=int2str(x): Chuyển đổi số kiểu integer thành chuỗi ký tự.
 D=size(a): Trả về giá trị là ma trận có dạng [x,y] là kích thước của ma trận a.
 rgb2gray(RGB) : Chuyển đổi ảnh màu sang ảnh xám
 im2bw(I, level): Chuyển đổi hình ảnh xám sang hình ảnh nhị phân, dựa trên
ngưỡng.
 bw2 = bwareaopen(BW, P): Loại bỏ các đối tượng nhỏ khỏi hình ảnh nhị phân
 medfilt2(A): lọc trung bình ma trận A theo hai chiều.
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26
 imopen( IM,SE): thực hiện mở hình thái trên màu xám, IM là hình ảnh nhị phân,
SE là phần tử cấu trúc
 bwboundaries(BW): đánh dấu biên giới các vật thể, cũng như ranh giới của lỗ bên
trong các đối tượng này(BW).
 bwlabel(BW): kết nối các thành phần có trong hình ảnh nhị phân.
 text(x,y,z,'string','PropertyName',PropertyValue): Tạo đối tượng văn bản trong
các trục hiện tại.
 length(X) : chiều dài lớn nhất của số nguyên X.
Các hàm chuyển đổi loại ảnh và kiểu dữ liệu ảnh
Dither Tạo ảnh nhị phân hay ảnh RGB
gray2ind Chuyển ảnh trắng đen thành ảnh indexed
im2bw Chuyển ảnh thành ảnh kiểu dữ liệu nhị phân
im2double Chuyển ảnh thành ảnh kiểu dữ liệu double
im2uint16 Chuyển ảnh thành ảnh kiểu dữ liệu uint16
ind2rgb Chuyển ảnh indexed thành ảnh RBG
mat2gray Tạo ảnh gray scale từ ma trận
rgb2ind Chuyển ảnh RBG thành ảnh indexed
rgb2gray Chuyển ảnh RBG thành ảnh gray scale
Các hàm truy xuất dữ liệu ảnh
Imfinfo Truy xuất thông tin ảnh
Imread Đọc ảnh từ file và xuất ra ma trận ảnh
Imwrite Lưu ma trận ảnh thành file ảnh
Các hàm biến đổi hình học
Imcrop Trích xuất một phần ảnh
Imresize Thay đổi kích thước ảnh
Imdilate Phép toán giãn nở điểm ảnh nhị phân
Imerode Phép toán xói mòi điểm ảnh nhị phân
CHƢƠNG 2.CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 27
Imopen Phép toán mở điểm ảnh nhị phân
Imclose Phép toán đóng điểm ảnh nhị phân
Bảng 2.3 Các hàm xử lý hình ảnh khác trong Matlab.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 28
Chương 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU.
Nhiệm vụ chính của chương trình là đếm đối tượng từ ảnh đầu vào. Đếm đối tượng
bằng cách xử lý lý ảnh đầu vào bằng các phương pháp, thuật toán khác nhau như đã nêu ở
chương 2 để đưa ra được kết quả là số đối tượng cụ thể có trong ảnh. Cuối cùng nhúng dữ
liệu kết quả đếm được xuống Kit Arduino. Như vậy, ở chương này nhóm sẽ thực hiện các
nội dung:
 Giải thích sơ đồ nguyên lý của kit Arduino.
 Tính toán và thiết kế sơ đồ khối cho toàn hệ thống.
 Cài đặt các gói hỗ trợ cho phần mềm Matlab.
3.2 THIẾT KẾ HỆ THỐNG.
3.2.1 Thiết kế sơ đồ khối hệ thống.
Với mục tiêu xây dựng chương trình đếm đối tượng từ ảnh đầu vào, tiến hành thiết
kế hệ thống đếm đối tượng bao gồm các quá trình: Lấy ảnh đầu vào, xử lý ảnh đầu vào và
dùng thuật toán để đếm đối đối tượng từ ảnh đầu vào đã qua xử lý.
Với mục tiêu là đếm đối tượng từ ảnh đầu vào, ta tiến hành thiết kế hệ thống đếm
đối tượng trong ảnh bao gồm các bước cụ thể như:
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29
Hình 3.1. Sơ đồ quá trình đếm đối tượng.
- Khối lấy ảnh đầu vào: Trong giai đoạn này hình ảnh đầu vào được lấy để xử lý
hình ảnh. Hình ảnh được chụp bằng định dạng file camera. như PNG, JPEG, PEG …
- Khối xử lý hình ảnh đầu vào: Xử lý hình ảnh là thao tác của một hình ảnh để kết
quả sẽ phù hợp hơn so với hình ảnh gốc trước khi xử lý và do đó nó là một giai đoạn quan
trọng của sự công nhận đối tượng. Đầu tiên trong giai đoạn chế biến trước là đối với các
ảnh có dính những phông nền ta không muốn xử lý hoặc những đối tượng không cần thiết
cần loại bỏ thì ta nên cắt ảnh để lấy phần mà ta mong muốn xử lý. Bước thứ hai ta chuyển
ảnh từ ảnh màu sáng ảnh xám. Bước thứ ba ta tiến hành tìm ngưỡng phù hợp cho ảnh để
chuyển một ảnh xám thành ảnh nhị phân. Ảnh nhị phân có cường độ điểm ảnh bằng 0
hoặc 1. Phông nền mang các điểm ảnh màu trắng có cường độ 0 và vị trí hàng đầu mang
các điểm ảnh màu đen có 1 cường độ. Bước cuối cùng là loại bỏ khuyết điểm, tình trạng
Ảnh đầu vào
(ảnh chụp sẵn)
Xử lý ảnh đầu vào
Đếm đối tượng trong ảnh
Xuất kết quả - ứng dụng
Phân đoạn hình ảnh
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30
thiếu trong hình ảnh và cung cấp thông tin về hình thức và cấu trúc của các hoạt động ảnh
sử dụng các hình thái học như xói mòn, giản nỡ, đóng hoặc mở đối tượng…
- Khối phân đoạn hình ảnh: Phân đoạn hình ảnh là sự phân chia của một hình ảnh
thành các vùng tương ứng với các đối tượng khác nhau. Nó thường được sử dụng để định
vị các đối tượng và ranh giới trong hình ảnh.
- Khối đếm đối tượng trong ảnh: ảnh sau khi đã qua giai đoạn xử lý ảnh đầu vào sẽ
đến bước đếm đối tượng có trong ảnh dựa vào thuật toán đánh nhãn.
- Khối xuất kết quả - ứng dụng: Hệ thống sẽ xuất kết quả đếm được trong ảnh đầu
vào ra giao diện và đồng thời chạy ứng dụng trên kit Arduino.
3.2.2 Thiết kế các khối hệt thống.
Hệ thống được xây dựng toàn bộ trên nền Matlab nhúng dữ liệu xuống kit Arduino
nên quá trình tính toán và thiết kế được thực hiện chủ yếu trên phần mềm.
a. Thiết kế khối lấy ảnh đầu vào.
Ở khối đầu vào nhóm sử dụng một bộ ảnh chụp từ camera. Các ảnh được chụp là
ảnh màu có kích cỡ ảnh phù hợp và được chụp từ một khoảng cách phù hợp để thuận tiện
cho quá trình xử lý ảnh đầu vào.
b. Thiết kế khối xử lý hình ảnh.
Xây dựng một chương trình để xử lý bằng các lệnh, hàm được thư viện Matlab hỗ
trợ. Sau khi có ảnh đầu vào, ta chuyển đổi từ ảnh màu sang ảnh xám bằng cách sử dụng
hàm rbg2gray(). Để phân biệt các đối tượng và nền trong ảnh xám thì ta chuyển ảnh xám
sang ảnh nhị phân. Trước khi chuyển sang ảnh nhị phân ta nên tìm cường độ ngưỡng phù
hơp cho ảnh bằng hàm graythresh() từ ngưỡng đó ta tạo ảnh nhị phân bằng cách sử dụng
hàm im2bw(I,graythresh). Tiếp theo loại bỏ các khuyết điểm ảnh ta dùng các hoạt động
hình thái ảnh cơ bản, sau đó sử dụng thuật toán đánh nhãn để thực hiện phép đếm đối
tượng.
c. Thiết kế khối phân đoạn hình ảnh.
Phân đoạn ảnh là bước đầu tiên trong phân tích hình ảnh với mục đích: chia nhỏ
một hình ảnh thành từng vùng có nghĩa để phục vụ cho việc phân tích sâu hơn. Để phân
tích các đối tượng trong ảnh, chúng ta cần phải phân biệt được các đối tượng cần quan
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31
tâm với phần còn lại của ảnh. Những đối tượng này có thể được tìm ra nhờ các kỹ thuật
phân đoạn ảnh.
Các bước phân vùng ảnh theo ngưỡng:
 Làm trơn ảnh
 Làm trơn Histogram
 Chọn ngưỡng dựa vào biểu đồ
d. Khối đếm đối tượng trong ảnh.
Khối này sẽ dựa vào thuật toán đánh nhãn để đếm các đối tượng có trong ảnh từ
ảnh đầuvào đã được xử lý.
e. Khối xuất kết quả và ứng dụng.
Khối này sẽ đọc và xuất kết quả đếm được từ Matlab và nhúng lệnh điều khiển ứng
dụng trên kit Arduino.
Hình 3.2. Sơ đồ nguyên lý khối ứng dụng.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32
3.3 TỔNG QUAN VỀ PHẦN CỨNG.
3.3.1 Tổng quan các khối chính.
Dựa trên cơ sở của phần thiết kế hệ thống, ta tiến hành chọn thiết bị và thiết kế sơ
đồ khối phần cứng.
Hình 3.3.Tổng quan các khối.
Máy tính: Có nhiệm vụ cài đặt chương trình để viết code, cung cấp nguồn cho phần
cứng thông qua cổng USB. Viết chương trình trên Matlab, lấy ảnh đầu vào từ hình ảnh có
sẵn, nhúng xuống phần cứng kit Arduino Uno sau đó nhận dạng hiển thị kết quả trên máy
tính và trên phần cứng.
Kit Arduino Uno: Có nhiệm vụ kết nối giữa máy tính và các ứng dụng, là bộ xử lý
chính của đề tài, nhận các kết quả đếm từ máy tính để điều khiển các ứng dụng được kết
nối trực tiếp với Kit.
LCD: Được kết nối với Kit Arduino Uno nhận lệnh điều khiển từ trực tiếp từ
Arduino hiển thị kết quả ra màn hình của LCD.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33
3.3.2 Board Arduino Uno R3[9].
a. Sơ đồ nguyên lý.
Hình 3.4. Sơ đồ nguyên lý board Arduino Uno R3.
b. Giải thích sơ đồ nguyên lý Arduino Uno R3.
Điều quan trọng nhất trong một board Arduino là một vi điều khiển, vi điều khiển
này sẽ thực hiện những chỉ thị trong ứng dụng của người dùng. ATmega328 tên đầy đủ là
ATmega328P-PU là vi điều khiển của board mạch arduino, sử dụng như một bộ điều
khiển chính. Nó là một thiết bị 8-bit nghĩa là được thiết kế chỉ làm việc tối đa với các dữ
liệu 8-bit đồng thời. Với ATmega328 có thể tạo một board mạch Arduino đơn giản.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34
Hình 3.5. Sơ đồ chân ATmega328.
ATmega328 có ba loại bộ nhớ:
 Bộ nhớ Flash: 32KB bộ nhớ, không bị mất dữ liệu. Bộ nhớ này dùng để lưu trữ các
ứng dụng trên board Arduino. Người dùng không cần tải lại ứng dụng khi ngắt nguồn
cung cấp cho board.
 Bộ nhớ SRAM: 2KB bộ nhớ, bị mất dữ liệu khi ngắt nguồn dùng để lưu trữ các
biến dữ liệu khi chạy chương trình.
 Bộ nhớ EEPROM: 1KB bộ nhớ, không bị mất dữ liệu dùng để lưu dữ liệu mỗi khi
nguồn điện ngắt và mở lại.
Vi điều khiển này gồm có 28 chân bao gồm các chân nguồn và chân I/O. Đa số các
chân đều gồm nhiều chức năng, người dùng có thể sử dụng các chân tùy theo chương
trình trên board. Điều này làm giảm số chân cần sử dụng.
Chân nguồn của vi điều khiển chỉ nhận điện áp cung cấp trong khoảng 1,8 - 5,5V.
Trong một số trường hợp nếu không cung cấp đủ điện áp sẽ làm ảnh hưởng đến ứng dụng.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35
Chân kỹ thuật số I/O của vi điều khiển gồm ba cổng: PORTB, PORTC, PORTD.
Tất cả các chân được dùng như là chân kỹ thuật số I/O tuy nhiên có thể được dùng với
chức năng thay thế khác. Một số chân có cấu hình đầu ra khác như là PWM.
Các chân trên board Arduino Uno:
 Serial: Chân 0 nhận dữ liệu và chân 1 truyền dữ liệu nối tiếp TTL.
 Ngắt ngoài: Chân 2 và 3 được sử dụng như một bộ ngắt.
 PWM: Chân băm xung gồm các chân 3, 5, 6, 9, 10, 11. Cung cấp đầu ra tương tự
8-bit.
 SPI: Chân 10, 11, 12, 13. Các chân này hỗ trợ giao tiếp SPI bằng cách sử dụng thư
viện SPI.
 LED: Có một đèn LED điều khiển bằng chân 13. Khi chân có giá trị cao, đèn LED
được bật, ngược lại thì đèn LED tắt.
 TWI: A4 và A5. Hỗ trợ giao tiếp TWI.
 Đầu vào tương tự: Có 6 chân từ A0 tới A5 cung cấp độ phân giải 10-bit theo mặc
định từ 0 tới 5V thay đổi bằng chân AREF.
 Reset: Thiết lập lại vi điều khiển.
Chíp Atmega16U2 sẽ làm nhiệm vụ USB-to-Serial, hay nói cách khác là tạo cổng
COM ảo phục vụ cho việc lập trình cho vi điều khiển Atmega328.
Khối ADC đầu vào gồm có sáu kênh từ PORTC0 đến PORTC5 với bộ chuyển đổi
A/D có độ phân giải 10-bit. Các chân dùng trong bộ chuyển đổi A/D này là:
 Chân AVCC: Chân nguồn cho bộ chuyển đổi A/D
 Chân AREF: Chân cung cấp điện áp tham chiếu cho ADC nếu cần điện áp lớn hơn
VREF nội bộ.
UART ngoại vi (Universal Asynchronous Receiver / Transmitter): Các chân (RX,
TX) được kết nối với một mạch chuyển đổi USB-to-UART và cũng kết nối với chân 0 và
chân 1 trên board. Không sử dụng UART khi đã truyền và nhận dữ liệu qua USB. Vi điều
khiển ATmega328 chỉ có một UART duy nhất.
SPI ngoại vi (Serial Peripheral Interface) là một giao diện nối tiếp, duy nhất trên
ATmega328. Có thể xác định chân của SPI trên vi điều khiển hoặc trên board:
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36
 Chân 11: MOSI.
 Chân 12: MISO.
 Chân 13: SCK.
Cầu USB-to-UART có chức năng chuyển đổi các tín hiệu giữa giao diện USB với
giao diện UART. Vi điều khiển ATmega328 sử dụng ATmega16U2 cùng với một bộ thu
phát USB nội bộ cho chức năng này.
Hình 3.6. Cầu USB-to-UART.
Nguồn điện cho board Arduino có thể được cung cấp bằng cổng USB hoặc bằng
nguồn DC trực tiếp vào board. Nguồn DC phải đảm bảo trong khoảng từ 7V đến 12V nếu
cao hơn sẽ gây hư hại cho board, ngược lại các ứng dụng trên board sẽ không hoạt động
tốt vì không đủ điện áp.
Các chân nguồn bao gồm:
 Vin: Điện áp đầu vào của board Arduino. Có thể cung cấp điện áp cho board
Arduino thông qua chân này.
 5V: Nguồn 5V lấy từ board Arduino. Lưu ý nếu ta cung cấp nguồn nhỏ hơn 7V thì
nguồn lấy từ board sẽ ít hơn 5V và lớn hơn 12V sẽ gây hư hại đến board.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37
 3V3: Nguồn 3V3 lấy từ board Arduino
 GND: Chân nối đất.
Hình 3.7. Bộ nguồn.
3.4 CÀI ĐẶT CÁC GÓI HỖ TRỢ PHẦN CỨNG CHO MATLAB
3.4.1 Kết nối Arduino với Matlab.
Đầu tiên tiến hành cài đặt gói Arduino trên nền Matlab. Matlab có hỗ trợ các
Package từ phần cứng Ardunio và giao tiếp với nhau thông qua cổng USB. Các gói
Package được tạo ra dựa trên hoạt động của các chương trình trên board, nó có hỗ trợ trên
môi trường như Windows, Mac OS, Linux. Trong phần này nhóm chỉ tập trung vào giao
tiếp giữa Ardunio và Matlab. Để cài đặt gói Package làm như sau:
Từ giao diện Matlab, click vào Add-Ons chọn Get Hardware Support Package.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38
Hình 3.8. Get Hardware Support Package.
Cửa sổ Support Package Installer hiện lên, chọn Install from Internet
Hình 3.9. Cửa sổ “Support Package Installer”.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39
Sau đó chọn vào Arduino và tick vào cài đặt các Package.
Hình 3.10. Giao diện cài Package cho Arduino.
Đăng nhập vào tài khoản Matlab.
Hình 3.11. Đăng nhập cho cửa sổ “MathWorks Account Log In”.
Sau khi đăng nhập xong, nhấn Next để cài đặt đến hết. Nhấn Finish để kết thúc
phần cài đặt.
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40
3.4.2 Kiểm tra kết nối Arduino với Matlab.
Trên Command Window gõ lệnh: “a= Arduino”.
Đây là câu lệnh để kiểm tra kết nối giữa Arduino với Matlab và các Packages đã
được cài đặt để hỗ trợ cho Arduino hay chưa.
Hình 3.12. Kết nối Arduino và Matlab thành công.
3.4.3 Kết nối LCD với I2C
Vì ta tải thư viện hỗ trỡ sử dùng LCD (LiquidCrystal_I2C.h) giao tiếp với I2C với
2 chân A4, A5 bắt buộc trong thư viên thay thế tương ứng cho SDA và SCL của 2 chân
tín hiệu dùng cho giao tiếp I2C nên ta có kết nối sau:
Module màn hình LCD (16x2) Arduino
GND GND
Vcc 5V
SDA A4
SCL A5
Bảng 3.1: Chân kết LCD với I2C
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41
Để LCD có thể hiện thị các kí tự thì ta cần địa chỉ màn hình bus I2C trong LCD, vì
thế ta nạp cần nạp code cho chương trình tìm địa chỉ thật của LCD và I2C. Ở đây, địa chỉ
bus I2C của ta tìm được là 0x27.
Hình 3.13 Kết quả trả về khi kết nối I2C
Việc giao tiếp thu nhận dữ liệu từ Matlab với Arduino trả về LCD cũng rất dễ dàng
vì trong gói hỗ trợ cài đặt phần mềm Matlab với Arduio cũng đã hỗ trợ thư viện cho I2C
nên việc thực thi cũng trở nên bình thường.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42
Chương 4. THI CÔNG HỆ THỐNG
4.1 GIỚI THIỆU.
Chương này nhóm giới thiệu về hệ thống nhóm đã thực hiện, lưu đồ cho chương
trình đếm đối tượng qua hình ảnh, chương trình chính và các bước thao tác để sử dụng mô
hình.
4.2 THI CÔNG HỆ THỐNG.
Mô hình đồ án do nhóm thực hiện:
Hình 4.1. Mô hình trong quá trình thực hiện.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43
4.3 LƯU ĐỒ GIẢI THUẬT.
4.3.1 Tổng quát về hệ thống
Hình 4.2. Lưu đồ chính hệ thống.
Để hoàn thành mục tiêu là đếm đối tượng trong ảnh thì ta phải xây dụng thành
công chương trình xử lý ảnh đầu vào và chương trình đếm đối tượng trong ảnh sử dụng
thuật toán đánh nhãn.
4.3.2 Chi tiết về hệ thống.
Ảnh đầu vào được chụp từ camera điện thoại trước khi đưa vào chương trình xử lý
ảnh đầu vào. Sau đó chương trình xử lý ảnh đầu vào được tiến hành theo các bước sau:
Bắt đầu
Xử lý ảnh đầu vào
Đếm đối tượng
Kết thúc
Đưa ảnh vào
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44
Hình 4.3 Lưu đồ đếm đối tượng
Chương trình xử lý ảnh đầu vào được thực hiện lần lượt qua các quá trình cụ thể.
Đầu tiên là từ ảnh đầu vào cắt ảnh thủ công để loại bỏ các thành phần không mong muốn
xung quanh đối tượng cần xử lý,sau đó là chuyển ảnh đầu vào sang ảnh xám ( nếu là ảnh
màu) và tiếp theo là tìm một giá trị ngưỡng thích hợp bằng cách sử dụng hàm graythresh
(). Sau đó là chuyển sang ảnh nhị phân. Kế tiếp là sử dụng các phương pháp hình thái học
như co giãn ảnh, xói mòn, đóng mở đối tượng trong ảnh để thu được các đối tượng trong
ảnh cũng loại bỏ các đối tượng không mong muốn.
Bắt đầu
Kết thúc
Lấy ảnh đầu vào
Chuyển ảnh màu
thành ảnh xám
Chọn ngưỡng thích
hợp
Chuyển ảnh xám
thành ảnh nhị phân
Áp dụng các phương
pháp hình thái học
Cắt ảnh
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45
Tiến hành chương trình đếm đối tượng theo lưu đồ :
Hình 4.4. Lưu đồ chương trình đếm đối tượng.
 Chương trình đếm đối tượng tiến hành lần lượt lấy ảnh đầu vào được chụp từ điện
thoại. Sau đó được xử lý ảnh đầu vào để loại bỏ nhũng yếu tố không cần thiết.
Tiến hành gán giá trị biến đếm =0 sau đi thực hiện chu kì kiểm tra đối tượng trong
ảnh và so sánh với giá trị biến đếm. Khi mà giá trị biến đếm bằng với số đối tượng thì
dừng quá trình kiểm tra và xuất giá trị đã đếm được ra giao diện đồng thời dùng kết quả
để nhúng xuống Arduino.
Bắt Đầu
Biến đếm = 0
Xử lý ảnh đầu vào
Biến đếm + 1
Biến đếm< số
đối ttượng
Xuất số lượng
đếm được
Kết thúc
Đưa ảnh vào
No
Yes
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46
 Quá trình nhúng kết quả xuống Arduino được thực hiện như sau:
Hình 4.5. Lưu đồ chương trình dếm đối tượng.
Điều khiển ứng dụng trên Arduino: đưa kết quả xuống Arduino. Đặt một biến đếm
ban đầu bằng 0 sau đó thay đổi giá trị đếm được và điều khiển ứng dụng tương ứng với
kết quả đếm được.
Bắt đầu
Điều khiển ứng
dụng trên Arduino
Kết thúc
Xử lý ảnh đầu vào
Đưa qua chương
trình đếm đối tượng
Xuất kết quả đếm
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47
Hình 4.6. Lưu đồ chương trình điều khiển ứng dụng trên Arduino.
4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC.
4.4.1 Viết tài liệu hướng dẫn sử dụng.
Bước 1: Kết nối với kit Arduino với máy tính.
Bước 2: Tiến hành chạy chương trình đếm đối tượng.
Bước 3: Chụp ảnh cần đếm bằng camera điện thoại,, sau đó đưa ảnh vào thư mục Image.
Bước 4: Chạy chương trình chính.
Bước 5 Quan sát kết quả
Bắt đầu
Xuất kêt quả
đếm
Arduino đọc kết quả
từ Matlab
Hiển thị kết quả
đếm ra lcd
Kết thúc
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48
Hình 4.7. Quy trình thao tác với thuật toán đánh nhãn.
4.4.2 Quy trình thao tác trên giao diện.
Bước 1: Kết nối kít Arduino với máy tính.
Bước 2: Tiến hành chạy chương trình đếm đối tượng.
Bước 3 Tiến hành chạy chương trình giao diện, chương trình sẽ hiển thị giao diện ban đầu
với tên trường, tên đề tài, tên sinh viên thực hiện và giáo viên hướng dẫn. Để vào giao
diện đếm đối tượng trong ảnh, chọn “Next”.
Bước 4: Chụp ảnh cần đếm bằng camera điện thoại, sau đó đưa ảnh vào thư mục Image
trong máy tính.
Bước 5: Tiến hành đếm đối tượng, chọn vào đối tượng cần đến để đi đến giao diện cho
đối tượng đó. Sau đó chọn “Tải ảnh” để chọn ảnh cần đếm tiếp theo chọn “đếm” để tiến
hành đếm đối tượng cần đếm trong ảnh vừa chọn.
Bước 6: Quan sát kết quả. Kết quả đếm sẽ hiển thị ở khung kết quả trên giao diện và trên
cả lcd theo từng đối tượng vừa chọn.
Chuẩn bị Kết nối với
Arduino
Chạy
chương trình
Quan sát
kết quả
Chạy chương
trình chính
Chụp ảnh
cần đếm
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49
Chương 5. KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ
5.1 KẾT QUẢ.
5.1.1 Tổng quan kết quả đạt được.
Sau hơn 3 tháng tìm hiểu tài liệu chuyên môn, tài liệu internet cùng sự giúp đỡ tận
tình của giáo viên hướng dẫn, nhóm thực hiện đề tài:”Đếm đối tượng trong ảnh” đã hoàn
thành xong theo yêu cầu và đúng thời gian quy định với những nội dung sau:
 Biết được kiến thức cơ bản về Arduino, cài đặt được gói hỗ trợ Arduino, kết nối
Arduino với phần mềm Matlab.
 Hiểu được thuật toán đánh nhãn đối tượng trong ảnh và áp dụng được thuật toán
vào trong bài toán đếm đối tượng trong ảnh.
 Xây dựng được chương trình đếm đối tượng trong ảnh từ ảnh đầu vào được chụp
từ camera điện thoại.
 Viết giao diện thao tác cho người sử dụng
 Đếm thành công khoảng 85% với phương pháp đánh nhãn.
 Tương ứng với số lượng đối tượng đếm được hiển thị trên giao diện thì điều khiển
thành công ứng dụng cơ bản (hiển thị trên LCD) cho kit Arduino từ phần mềm Matlab.
5.1.2 Kết quả thực tế.
a. Giao diện sử dụng.
Nhóm đồ án đã tạo được giao diện cho người dùng thao tác được dễ dàng hơn
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50
Hình 5.1. Giao diện ban đầu
Hình 5.2. Giao diện chọn lựa đối tượng đếm.
- Giao diện chọn lựa đối tượng gồm các nút:
 Đếm tế bào: tiến hành đi đến giao diện đếm đối tượng tế bào
 Đếm cây: tiến hành đi đến giao diện đếm cây.
 Đếm thuốc: tiến hành đi đến giao diện đếm thuốc.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51
Hình 5.3. Giao diện đếm tế bào.
- Giao diện đếm tế bao gồm các nút:
 Tải ảnh : chọn bất kì ảnh tế bào nào để đếm.
 Đếm: tiến hành quá trình đếm các đối tượng có trong ảnh và xuất kết quả ra giao
diện và trên kit Arduino và LCD.
 Dừng: dừng chương trình đếm để có thể thoát ra được chương trình để chạy
chương trình khác.
 Quay lại: Quay lại màn hình giao diện chọn lựa chọn.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52
Hình 5.4. Giao diện đếm cây
Hình 5.5. Giao diện đếm thuốc.
Tương tự như giao diện đếm tế bào thì giao diện đếm cây và đếm thuốc cũng có
những nút nhấn quay lại, tải ảnh, đếm và dừng. Các nút nhấn này cũng có chức năng như
các nút nhấn ở phần giao diện đếm tế bào.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53
b. Kết quả đếm đối tượng bằng phương pháp đánh nhãn
 Đếm tế bào
Kết quả ảnh nhóm tìm được bao gồm 10 ảnh với những bức ảnh được chụp và
được tải về từ mạng có sẵn để thuận tiện cho việc liên quan đếm đối tượng tế bào.
Các bức ảnh có độ sáng, phông nền, màu sắc, kích cỡ và đối tượng khác nhau
nhằm tăng độ phổ biến của phép đếm.
Hình 5.6: 10 bức ảnh đếm tế bào mà nhóm thực hiền đề tài
Kết quả:
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54
Hình 5.7. Đếm tế bào màu hồng thành công.
Hình 5.8: Đếm tế bào màu tím sạm thành công.
 Đếm cây
Tương như đếm tế bào thì nhóm cũng chụp và lưu giữ được 10 ảnh với những màu
sắc và đối tượng cây khác nhau để việc đếm cây phổ biến hơn.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55
Hình 5.9: 10 Bức ảnh đếm cây mà nhóm thực hiện đề tài
Kết quả:
Hình 5.10: Đếm cây loại 1 thành công
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56
Hình 5.11: Đếm cây loại 2 thành công
 Đếm thuốc
Cũng như hai đối tượng trên việc đếm thuốc cũng tương tự nhưng nhóm chỉ đếm
nghiêng về các vỉ thuốc màu tối(đen, tím, xám) để việc đếm xảy ra chính xác hơn. Với
những đối tượng khác cũng có thể đếm được nhưng vì cấp độ màu sắc khác nhau nên cần
phải chuyển ngưỡng ở cấp độ khác nhau.
Hình 5.12: 10 bức ảnh đếm thuốc nhóm thực hiện đề tài
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57
Kết quả:
Hình 5.13: Đếm thuốc loại 1 thành công
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58
Hình 5.14: Đếm thuốc đen loại 2 thành công
c. Kết quả điều khiển ứng dụng trêm Arduino.
Sau quá trình đếm đối tượng từ chương trình chính là quá trình nhúng dữ liệu
xuống Matlab xuống kít arduino :
 Hiển thành thành công “DO AN TOT NGHIEP” trên hàng 1 của LCD
 HIển thị thành công dòng “Ket qua dem”: trên dòng thứ 2 của LCD
 Hiển thị thành công kết quả đếm được trên LCD, kết quả giữa LCD và trên giao
diện người dùng khớp với nhau.
 Ứng dụng hoạt động ổn định, chính xác đáp ứng đúng yêu cầu ban đầu mà nhóm
đặt ra.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59
Hình 5.15: Kết quả hiện thị đếm đối tượng ra LCD
d. Kết quả thống kê.
 Kết quả đếm với đối tượng là tế bào:
Thống kê kết quả đếm 5 ảnh chụp cho tế bào khác nhau như sau:
Số thứ tự
Số tế bào có
trong ảnh
Số tế bào đếm
được
Số tế bào đếm
sai
Tỷ lệ
1 76 75 1 98%
2 43 43 0 100%
3 44 42 2 95%
4 45 45 0 100%
5 73 67 6 91%
Bảng 5.1.Kết quả đếm tế bào
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ
Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ

More Related Content

What's hot

Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đĐề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnhĐề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnhĐề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit RaspberryĐề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng họcĐề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAYLuận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAYĐề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAYĐề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đĐề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đĐề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAYĐề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xaHệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAYĐề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAYĐề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
đồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laserđồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laser
Tan Ngoc
 
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFIDĐề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAYĐề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdfĐiều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Man_Ebook
 

What's hot (20)

Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đĐề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
 
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnhĐề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
 
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnhĐề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
 
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit RaspberryĐề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
Đề tài: Ứng dụng xử lý ảnh phát hiện ngủ gật dùng Kit Raspberry
 
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng họcĐề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
 
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAYLuận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
 
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAYĐề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
 
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAYĐề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
 
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đĐề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
 
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đĐề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
 
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAYĐề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
 
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xaHệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
Hệ thống giám sát điện năng tiêu thụ và điều khiển thiết bị điện từ xa
 
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAYĐề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
 
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAYĐề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
 
đồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laserđồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laser
 
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFIDĐề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
Đề tài: Khóa điện tử có giám sát từ xa sử dụng GSM và RFID
 
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAYĐề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
 
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdfĐiều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
 

Similar to Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ

Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdfThiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Man_Ebook
 
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmỨng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
hieu anh
 
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAYĐề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗỨng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đĐề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAYĐề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdfThiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
Man_Ebook
 
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l... Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
anh hieu
 
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
anh hieu
 
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAYĐề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tôGiám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
hieu anh
 
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tôĐề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdfThiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Man_Ebook
 
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộmHệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhàĐề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAYĐề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOTHệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự độngĐề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máyĐề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 

Similar to Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ (20)

Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdfThiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
 
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmỨng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
 
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAYĐề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
Đề tài: Thiết kế mô hình hệ thống và quản lý trang trại heo, HAY
 
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗỨng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
Ứng dụng PLC điều khiển, giám sát mô hình máy phun sơn gỗ
 
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đĐề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
 
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAYĐề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
Đề tài: Hệ thống điều khiển thiết bị điện và giám sát nhà, HAY
 
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdfThiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
Thiết kế và thi công máy rửa dùng sóng siêu âm trong công nghiệp.pdf
 
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l... Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
 
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAYĐề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
 
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tôGiám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
 
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tôĐề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
Đề tài: Giám sát và cảnh báo hoạt động phương tiện vận tải ô tô
 
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdfThiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
 
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộmHệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
Hệ thống điều khiển thiết bị điện trong nhà và cảnh báo chống trộm
 
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhàĐề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
 
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAYĐề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
Đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, HAY
 
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOTHệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
 
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự độngĐề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
Đề tài: Thiết kế và thi công mạch điều khiển máy bơm nước tự động
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
 
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máyĐề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
Đề tài: Thiết kế hệ thống thông minh cảnh báo cho xe máy
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864

Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.docYếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.docTừ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.docTác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.docSong Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.docỨng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.docVai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.docThu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864 (20)

Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.docYếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
 
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.docTừ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
 
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
 
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
 
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.docTác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
 
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.docSong Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
 
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.docỨng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
 
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.docVai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
 
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.docThu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
 

Recently uploaded

Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
phamthuhoai20102005
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
Qucbo964093
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 

Recently uploaded (10)

Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 

Đề tài: Xây dựng hệ thống đếm đối tượng trong ảnh, HAY, 9đ

  • 1. 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 HỆ THỐNG ĐẾM ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD GVHD: ThS. Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp. Hồ Chí Minh - 1/2018
  • 2. 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 HỆ THỐNG ĐẾM ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD GVHD: ThS. Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp. Hồ Chí Minh - 1/2018
  • 3. ii TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TP. Hồ Chí Minh, ngày 15 tháng 1 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 ĐỐI TƯỢNG TRONG ẢNH. 1. MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI: Mục tiêu của đề tài là xây dựng một hệ thống đếm đối tượng trong ảnh được chụp bằng camera, nhúng dữ liệu đếm được xuống kit Arduino để điều khiển LCD hiển thị kết quả đếm được Đề tài sử dụng thuật toán đánh nhãn để đối tượng trong ảnh. Xây dựng giao diện để người dùng có thể dễ dàng thao tác. Viết hướng dẫn thao tác sử dụng hệ thống. 2. 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 hiện trong đề tài: STT NỘI DUNG CÔNG VIỆC 1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện. 2 Viết chương trình đếm đối tượng( thuật toán đánh nhãn), điều khiển kit Arduino. 3 Chỉnh sửa hệ thống. 4 Viết báo cáo.
  • 4. iii Họ tên Sinh viên 2: TRẦN VĂN THẠCH Các công việc thực hiện trong đề tài: STT NỘI DUNG CÔNG VIỆC 1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện. 2 Viết chương trình đếm đối tượng (thuật toán đánh nhãn), điều khiển kit Arduino. 3 Chụp ảnh phục vụ cho quá trình đếm đối tượng 4 Chỉnh sửa báo cáo. SINH VIÊN 1 SINH VIÊN 2 (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)
  • 5. iv 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 1 năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phan Thành Hưng MSSV: 13141125 Trần Văn Thạch MSSV: 13141304 Chuyên ngành: Kỹ thuật Điện Tử Truyền Thông Mã ngành: 01 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 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Ụ 1. Các số liệu ban đầu:  Bộ ảnh đếm: 30 ảnh gồm 10 ảnh tế bào, 10 ảnh cây gỗ, 10 ảnh vỉ thuốc.  Matlab phiên bản 2015a.  Kit điều khiển chính: Arduino Uno R3, LCD 16x2 2. Nội dung thực hiện: Đề tài thực hiện nội dung xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu vào là ảnh chứa các đối tượng( tế bào, cây, vỉ thuốc). Kết quả đếm được sẽ được nhúng dữ liệu điều khiển tương ứng xuống kit Arduino. Nhóm sẽ thực hiện các nội dung như sau:  Tìm hiểu kit Arduino.  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 các thuật toán đánh nhãn.  Xây dựng quá trình xử lý ảnh đầu vào.  Xây dựng hệ thống đếm đối tượng trong ảnh, lập trình các ứng dụng nhúng dữ liệu trên kit Arduino.  Đánh giá kết quả thực hiện. 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
  • 6. v 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ử Độc lập - Tự do - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp – Y Sinh Tp. Hồ Chí Minh, ngày 15 tháng 1 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Ế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. Tuần/ngày Nội dung Xác nhận GVHD Tuần 1,2 Tìm đề tài Tuần 3 Tìm hiểu hoạt động Arduino và Matlab. Tuần 4 Cài đặt Matlab, kết nối Arduino với Matlab. Tuần 5,6 Lập trình Arduino với các chân I/O để nhúng dữ liệu. Tuần 7,8,9 Lập trình và 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 đối tượng trong ảnh và chương trình giao diện người dùng. Tuần 13,14 Hiệu chỉnh toàn bộ 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ý và ghi rõ họ và tên)
  • 7. vi LỜI CAM ĐOAN Chúng tôi cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của Thạc sỹ Nguyễn Duy Thảo. Các kết quả công bố trong ĐATN “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ị LCD” là trung thực và không sao chép hoàn toàn từ công trình nào khác. Người thực hiện đề tài Phan Thành Hưng Trần Văn Thạch
  • 8. vii LỜI CẢM ƠN Trong quá trình làm đồ án tốt nghiệp, chúng em đã nhận được rất nhiều sự ủng hộ, giúp đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và 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 chỉ bảo trong suốt thời gian làm luận án tốt nghiệp. Thầy đã tạo nhiều điều kiện và cho những lời khuyên quý báu giúp chúng em hoàn thành tốt khóa luận. Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ thuật Tp.HCM nói chung, các thầy cô trong 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 những kiến thức quý báu và tạo điều kiện giúp đỡ trong suốt quá trình học tập trong những năm học vừa qua, giúp chúng em có được 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 và bạn bè, đã luôn tạo điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp. Chúng em xin chân thành cảm ơn! Người thực hiện đề tài Phan Thành Hưng Trần Văn Thạch
  • 9. viii 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 1. TỔNG QUAN.........................................................................................1 1.1. Đặt vấn đề..........................................................................................................1 1.2. Mục tiêu.............................................................................................................2 1.3. Nội dung nghiên cứu. ........................................................................................2 1.4 Giới hạn. ............................................................................................................2 1.5. Bố cục................................................................................................................3 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT.............................................................................4 2.1 Giới thiệu xử lý ảnh ...........................................................................................4 2.2 Tổng quan về Matlab. ........................................................................................5 2.3 Giới thiệu lịch sử hình thành Arduino...............................................................6 2.4 Giới thiệu về phần cứng. ...................................................................................8 2.4.1 Kit Arduino Uno. ..............................................................................................8 2.4.2 Giới thiệu về LCD 16x2 ..................................................................................10 2.4.3 Giao tiếp I2C ...................................................................................................11 2.5 Một số phương pháp trong xử lý ảnh...............................................................12 2.5.1 Xử lý điểm ảnh:................................................................................................12 2.5.2 Làm trơn nhiễu bằng 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
  • 10. ix 2.5.9 Thuật toán đánh nhãn:.....................................................................................25 2.6 Các hàm xử lý trong Matlab. ..........................................................................25 CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ.............................................................28 3.1 Giới thiệu.........................................................................................................28 3.2 Thiết kế hệ thống.............................................................................................28 3.2.1 Thiết kế sơ đồ khối hệ thống. ..........................................................................28 3.2.2 Thiết kế các khối hệt thống.............................................................................30 3.3 Tổng quan về phần cứng. ................................................................................32 3.3.1 Tổng quan các khối chính................................................................................32 3.3.2 Board Arduino Uno R3....................................................................................33 3.4 Cài đặt các 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 4. THI CÔNG HỆ THỐNG ....................................................................42 4.1 Giới thiệu.........................................................................................................42 4.2 Thi công hệ thống............................................................................................42 4.3 Lưu đồ hệ thống...............................................................................................43 4.3.1 Tổng quát về hệ thống .....................................................................................43 4.3.2 Chi tiết về 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 trên giao diện......................................................................48 CHƯƠNG 5. KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ.............................................49 5.1 Kết quả.............................................................................................................49 5.1.1 Tổng quan kết quả đạt được. ...........................................................................49 5.1.2 Kết quả thực tế.................................................................................................49 5.2 Nhận xét và đánh giá........................................................................................60 CHƯƠNG 6. 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
  • 11. xi LIỆT KÊ HÌNH Hình Trang Hình 2.1: Những thành viên khởi xướng Arduino.............................................................. 7 Hình 2.2. Cấu trúc phần cứng của Arduino Uno. ............................................................... 9 Hình 2.3. Hình ảnh LCD................................................................................................... 10 Hình 2.4 : Hình ảnh I2C.................................................................................................... 12 Hình 2.5: Chuyển ảnh màu thành ảnh xám....................................................................... 13 Hình 2.6. Lược đồ xám. .................................................................................................... 14 Hình 2.7. Ảnh xám và ảnh nhị phân. ................................................................................ 14 Hình 2.8. Ngưỡng tự động theo T1 và T2......................................................................... 17 Hình 2.9.a.Đối tượng cần phình A và nhân tạo ảnh B,b.Minh họa quét các b,khắp A .... 19 Hình 2.10.Kết quả của phép toán Dilation........................................................................ 19 Hình 2.11.Kết quả của phép toán Erosion. ....................................................................... 19 Hình 2.12.Vật có cấu trúc đơn giản-hình vuông và phức tạp và hình xoắn ốc................. 21 Hình 2.13. Lưu đồ giải thuật cho thuật toán đánh nhãn.................................................... 22 Hình 2.14. Lưu đồ giải thuật cho toán đánh nhãn............................................................. 23 Hình 2.15 Vật thể màu đen đã được đánh nhãn............................................................... 23 Hình 2.16. Mô phỏng thuật toán đánh nhãn...................................................................... 24 Hình 2.17. Số lượng vật được xác định dựa vào RAM..................................................... 25 Hình 3.1. Sơ đồ quá trình đếm đối tượng......................................................................... 29 Hình 3.2. Sơ đồ nguyên lý khối ứng dụng. ...................................................................... 31 Hình 3.3. Tổng quan các khối........................................................................................... 32 Hình 3.4. Sơ đồ nguyên lý board Arduino Uno R3. ......................................................... 33 Hình 3.5. Sơ đồ chân ATmega328.................................................................................... 34 Hình 3.6. Cầu USB-to-UART........................................................................................... 36 Hình 3.7. Bộ nguồn........................................................................................................... 37 Hình 3.8. Get Hardware Support Package. ....................................................................... 38 Hình 3.9. Cửa sổ “Support Package Installer”.................................................................. 38 Hình 3.10. Giao diện cài Package cho Arduino................................................................ 39 Hình 3.11. Đăng nhập cho cửa sổ “MathWorks Account Log In”. .................................. 39 Hình 3.12.Kết nối Arduino và Matlab thành công............................................................ 40
  • 12. xii Hình 3.13.Kết quả trả về khi kết nối I2C.......................................................................... 41 Hình 4.1. Mô hình trong quá trình thực hiện. ................................................................... 42 Hình 4.2. Lưu đồ chính hệ thống. ..................................................................................... 43 Hình 4.3. Lưu đồ đếm đối tượng....................................................................................... 44 Hình 4.4. Lưu đồ chương trình đếm đối tượng................................................................. 45 Hình 4.5. Lưu đồ chương trình dếm đối tượng................................................................. 46 Hình 4.6. Lưu đồ chương trình điều khiển ứng dụng trên Arduino.................................. 47 Hình 4.7. Quy trình thao tác với thuật toán đánh nhãn..................................................... 48 Hình 5.1. Giao diện ban đầu ............................................................................................. 50 Hình 5.2. Giao diện chọn lựa đối tượng đếm.................................................................... 50 Hình 5.3. Giao diện đếm tế bào. ....................................................................................... 51 Hình 5.4. Giao diện đếm cây............................................................................................. 52 Hình 5.5. Giao diện đếm thuốc. ........................................................................................ 52 Hình 5.6. 10 bức ảnh đếm tế bào mà nhóm thực hiền đề tài............................................. 53 Hình 5.7. Đếm tế bào màu hồng thành công..................................................................... 53 Hình 5.8. Đếm tế bào màu tím sạm thành công................................................................ 54 Hình 5.9. 10 Bức ảnh đếm cây mà nhóm thực hiện đề tài................................................ 55 Hình 5.10.Đếm cây loại 1 thành công............................................................................... 55 Hình 5.11. Đếm cây loại 2 thành công.............................................................................. 56 Hình 5.12. 10 bức ảnh đếm thuốc nhóm thực hiện đề tài ................................................. 56 Hình 5.13. Đếm thuốc loại 1 thành công .......................................................................... 57 Hình 5.14. Đếm thuốc đen loại 2 thành công.................................................................... 58 Hình 5.15. Kết quả hiện thị đếm đối tượng ra LCD ......................................................... 59
  • 13. xiii LIỆT KÊ BẢNG Bảng Trang Bảng 2.1. Thông số kỹ thuật Arduino Uno......................................................................... 8 Bảng 2.2:Chức năng các chân của LCD........................................................................... 10 Bảng 2.3 Các hàm xử lý hình ảnh khác trong Matlab. ..................................................... 27 Bảng 5.1.Kết quả đếm tế bào............................................................................................ 40 Bảng 5.2.Kết quả đếm thuốc. ........................................................................................... 60 Bảng 5.3.Kết quả đếm cây................................................................................................ 60
  • 14. xv TÓM TẮT Việc đếm số lượng đối tượng là một nhiêm vụ khá phổ biến trong các ngành công nghiệp bằng các phương pháp khác nhau. Đếm số lượng đối tượng được sử dụng để thu được số lượng nhất định các yếu tố từ ảnh. Vì thế, bài toán đếm đối tượng trong ảnh là một đề tài khá mới mẻ và đang được chú ý để phát triển với phép đếm tự động bởi tầm nhin máy tính để tiết kiệm thời gian, công sức. Đề tài: “Thiết kế và thi công hệ thống đếm đối tượng trong ảnh sử dụng kit Arduino hiển thị trên LCD” nghiên cứu xây dựng phương pháp xử lý ảnh đầu vào, các phương pháp hinh thái học và đếm đối tượng trong ảnh để điều khiển ứng dụng trên kit Arduino tương ứng với kết quả giá trị nhận được. Các nội dung nghiên cứu bao gồm: Tìm hiểu kit Arduino; Tìm hiểu các phương pháp tiền xử lý ảnh ; Tìm hiểu các phép toán hình thái học; Xây dựng thuật toán đánh nhãn để đếm đối tượng trong ảnh. Đề tài được xây dựng chủ yếu trên phần mềm Matlab. Mô hình do nhóm thực hiện đã đạt được mục tiêu do nhóm đặt ra. Hiệu suất việc đếm đối tượng cao, điều khiển các ứng dụng trên kit Arduino. Tuy nhiên, việc đếm đối tương còn phụ thuộc nhiều vào môi trường khác nhau như: ánh sáng nền, màu sắc đối tương nên gây khó khăn cho viêc đếm đối tương sai số.
  • 15. CHƯƠNG 1.TỔNG QUAN BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1 Chương 1. TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ. Trong những năm gần đây, mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ nhưng xử lý ảnh đang được nghiên cứu và phát triển với tốc độ nhanh chóng bởi các trung tâm nghiên cứu, trường đại học và học viện…với rất nhiều ứng dụng trên các lĩnh vực khác nhau[1]. Đi cùng với sự phát triển đó, phần lớn các thiết bị điện tử đều dần phát triển theo hướng tự động hóa, thông minh, có thể giao tiếp, tương tác trực tiếp với người dùng. Đáp ứng được điều đó rất nhiều bài toán, giải thuật lần lượt giải quyết được vấn đề. Một trong số đó là bài toán đếm số lượng, phát triển ngày càng hiện đại, yêu cầu độ chính xác ngày càng cao. Trong thời đại bùng nổ về công nghệ thông tin như hiện nay, việc đếm số lượng đối tượng là một nhiệm vụ khá phổ biến được thực hiện nhiều trong các ngành công nghiệp bằng các phương thức khác nhau. Đếm đối tượng được sử dụng để nhận được một số lượng nhất định các yếu tố từ hình ảnh. Những yếu tố này hoạt động như một nguồn thông tin để phân tích định lượng, theo dõi chuyển động và phân tích định tính. Việc đếm số lượng các đối tượng được thực hiện trong các môi trường khác nhau với khác đối tượng có kích thước, số lượng khác nhau. Nhưng kết quả đem lại thường không cao, sai số lớn và mất nhiều thời gian. Vì thế mà việc đếm bằng phương pháp đếm thủ công phải được thay thế bằng đếm tự động bởi tầm nhìn máy tính. Đếm tự động sẽ giúp chúng ta tiết kiệm được thời gian, công sức, tăng khả năng chính xác và áp dụng cho nhiều đối tượng khác nhau chẳng hạn như: đếm tế bào, cá, trứng, ic, xe … Ở nước ta hiện nay, lĩnh vực đếm trong xử lý ảnh đã có nhũng phát triển đáng kể. Tuy nhiên nó chỉ mới phát triển dựa trên nền tảng phần cứng và chưa được áp dụng rỗng rãi trong thực tế. Vệc giải quyết bài toán này theo hướng tiếp cận sử dụng phần mềm chưa được quan tâm phát triển Xuất phát từ mục tiêu tiếp cận, bổ sung các kiến thức mới, cũng như củng cố lại những kỹ năng kiến thức trong suốt quá trình học tập tại trường. Đồng thời nghiên cứu sâu
  • 16. CHƯƠNG 1.TỔNG QUAN BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2 hơn về ứng dụng của xử lý ảnh, nghiên cứu các thuật đếm đối tượng trong ảnh và thực hiện đếm đối tượng rồi nhúng dữ liệu xuống kit Arduino[2]. Do đó, nhóm thực hiện đồ án chọn đề tài: “Đếm đối tượng trong ảnh”. 1.2. MỤC TIÊU. Mục tiêu của đề tài là xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu vào là ảnh có chứa đố tượng cần đếm từ ảnh chụp. Với số lượng đối tượng đếm được sẽ được sẽ nhúng dữ liệu điều khiển tương ứng xuống kit Arduino. 1.3. NỘI DUNG NGHIÊN CỨU. Mục tiêu xây dựng hệ thống: “Đếm đối tượng qua hình ảnh ” như trên thì nhóm sẽ thực hiện những nội dung như sau:  NỘI DUNG 1: Tìm hiểu kit Arduino.  NỘI DUNG 2: Cài đặt nguồn thư viện cho kit Arduino, cách kết nối module Arduino với phần mềm Matlab.  NỘI DUNG 3: Tìm hiểu các thuật toán cần thiết liên quan đến đếm đối tương trong ảnh.  NỘI DUNG 4: Xây dựng thuật toán tạo cơ sở dữ liệu cần thiết cho mục đích đếm đối tượng.  NỘI DUNG 5: Xây dựng hệ thống đếm đối tượng qua hình ảnh , lập trình các ứng dụng nhúng dữ liệu trên kit Arduino.  NỘI DUNG 6: Đánh giá kết quả thực hiện. 1.4 GIỚI HẠN. Mô hình gồm có kit Arduino Uno, máy tính Laptop để thực hiện hệ thống đếm đối tượng qua hình ảnh trên phần mềm Matlab sau đó nhúng dữ liệu xuống kit Arduino. Hệ thống nhận dạng ảnh với kích thước 128x128 với các phương pháp tiền xử lý ảnh đầu vào và thuật toán đánh nhãn để đếm các đối tượng có trong ảnh . Ảnh chụp từ camera điện thoại.
  • 17. CHƯƠNG 1.TỔNG QUAN BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 1.5. BỐ CỤC. Đồ án tốt nghiệp: “Đếm đối tượng trong ảnh” trình bày trong 6 chương với bố cục như sau:  Chương 1: Tổng quan. Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án.  Chương 2: Cơ sở lý thuyết. Giới thiệu về phần Matlab, giới thiệu về Arduino, giới thiệu về xử lý ảnh Giới thiệu về kit Arduino, LCD và I2C. Giới thiệu về các phương pháp trong quá trình xử lý ảnh đầu vào. Giới thiệu về thuật toán đánh nhãn trong việc đếm đối tượng.  Chương 3: Thiết kế và tính toán. Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế chương trình cho hệ thống đếm đối tượng qua hình ảnh được viết trên phần mềm Matlab, sử dụng thư viện của Matlab cho kit Arduino.  Chương 4: Thi công hệ thống. Xây dựng chương trình hoàn chỉnh cho toàn hệ thống, các hàm, các lưu đồ, các chương trình được sử dụng. Lắp ráp và chạy chương trình. Viết tài liệu hướng dẫn sử dụng, quy trình thao tác.  Chương 5: Kết quả, nhận xét và đánh giá. Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh giá kết quả thực thi được.  Chương 6: Kết luận và hướng phát triển. Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng phát triển trong tương lai.
  • 18. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 Chƣơng 2. CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU XỬ LÝ ẢNH[1] Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Thứ hai, các công cụ toán như Đại số tuyến tính, Sác xuất, thống kê. Một số kiến thứ cần thiết như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh. Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan. Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với
  • 19. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Máy ảnh số hiện nay là một thí dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh. 2.2 TỔNG QUAN VỀ MATLAB[4]. Matlab (Matrix Laboratory) là một môi trường tính toán số và lập trình, được thiết kế bởi công ty MathWorks, là ngôn ngữ lập trình thực hành bậc cao được sử dụng nhiều để giải các bài toán kỹ thuật. Matlab tích hợp việc tính toán thể hiện kết quả cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với thư viện được lập trình sẵn cho phép người dùng có được những ứng dụng như:  Tính toán các phép toán học thông thường, tính toán ma trận.  Lập trình tạo ra những ứng dụng mới.  Cho phép mô phỏng các mô hình thực tế.  Phân tích, khảo sát, hiển thị dữ liệu.  Với phần mềm đồ họa cực mạnh.  Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran. Matlab là một hệ thống tương giao chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay vector và có thể sử dụng ngôn ngữ C hoặc Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh gọi từ Matlab. Matlab được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học. Matlab cung cấp giải pháp chuyên dụng gọi là Toolbox. Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file). Hệ thống Matlab gồm 5 phần chính:  Ngôn ngữ Matlab: Cho phép lập trình từ các ứng dụng nhỏ đến phức tạp. Đó là các ngôn ngữ cao về ma trận và mảng, các dòng lệnh, các hàm, cấu trúc dữ liệu vào.
  • 20. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6  Môi trường làm việc: Bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu. Nó cũng bao gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file.  Xử lý đồ họa: Bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động. Cung cấp các giao diện tương tác giữa người sử dụng và máy tính.  Thư viện toán học: Các hàm cơ bản như cộng, trừ, nhân, chia, sin, cos …và các hàm phức tạp như tính ma trận nghịch đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library.  Giao diện người dùng (Application Program Interface): Cho phép viết chương trình tương tác với các ngôn ngữ khác C, Fortran ... Simulink là một chương trình đi kèm với Matlab, là một hệ thống tương tác với việc mô phỏng các hệ thống động phi tuyến, mô phỏng mạch. 2.3 GIỚI THIỆU LỊCH SỬ HÌNH THÀNH ARDUINO[3]. Arduino thực sự đã gây sóng gió trên thị trường người dung DIY ( là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng người dung cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
  • 21. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 Hình 2.1: Những thành viên khởi xướng Arduino Arduino là gì mà có thể ngay cả nhũng sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng, hoặc ngay cả google cũng muốn hỗ trợ hi cho ra đời bộ kít Arduino mega ADK dung để phát triển trên các ứng dụng tương tác với cảm biến với các thiết bị khác? Arduino thật ra là một bo mạch vi xử lý được dung để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình và điều hiển làm nên hiện tượng Arduino chính là mức giá thấy với tính chấ nguồn mở từ phần cứng tới phần mềm chỉ cới khoảng $30, người dung đã có thể sở hữu board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị. Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỷ thứ 9 là King Arduino, Arduino chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII). Mặt dù hầu như không được tiếp thị gì cả, tin tức về arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của nhũng người dung đầu tiên. Hiện
  • 22. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nói đã sản sinh ra Arduino. 2.4 GIỚI THIỆU PHẦN CỨNG. 2.4.1 Kit Arduino Uno[3]. Kit Arduino có nhiều phiên bản với tính năng và mục đích sử dụng khác nhau. Board Arduino Uno là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó. Arduino Uno là một board mạch vi điều khiển dựa trên chip Atmega328 với 14 chân vào/ra bằng tín hiệu số được đánh số từ 0 đến 13, trong đó 6 chân có thể tạo xung PWM được đánh dấu “~” trước mã số của chân, 6 chân nhận tín hiệu analog được đánh dấu từ A0 đến A5, có thể sử dụng như là 6 chân I/O số. Có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 30 mA. Vi điều khiển Atmega328P họ 8 bit Điện áp hoạt động 5V Điện áp đầu vào 7-12V Điện áp đầu vào giới hạn 6-20V Số chân Digital I/O 14 (có 6 chân PWM) Số chân Analog 6 ( độ phân giải 10bit) DC current per I/O pin 20mA DC current for 3.3V pin 50mA Flash Memory 32KB (ATmega328P) SRAM 2KB (Atmega328P) EEPROM 1KB (Atmega328P) Clock Speed 16MHZ Length 68.6 mm Width 53.4 mm Weight 25 g Bảng 2.1. Thông số kỹ thuật Arduino Uno.
  • 23. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 Hình 2.2. Cấu trúc phần cứng của Arduino Uno.  Cổng USB(1): Cổng USB dùng để kết nối với máy tính và thông qua đó để upload chương trình cho Arduino từ máy tính, đồng thời cung cấp nguồn cho Arduino.  Nguồn (2 và 4): Sử dụng jack cắm nguồn 2.1mm (cực dương ở giữa) hoặc có thể dùng chân Vin và GND để cấp nguồn cho Arduino. Board mạch hoạt động ở điện áp ngoài khoảng 5-20V, nhưng nếu cấp nguồn lớn hơn 5V thì ngõ ra chân 5V sẽ lớn hơn, không nên cấp nguồn lớn hơn 12V vì board sẽ nóng và dễ bị hỏng. Chân 5V và chân 3.3v là 2 chân lấy nguồn từ Arduino ra ngoài, không được cấp nguồn vào nó, sẽ làm hỏng.  Chip Atmega328P(6): Có 32KB bộ nhớ flash trong đó có 0.5KB dùng cho bootloader, 2KB SRAM, 1KB EEPROM.  Output và Input (3 và 5): Arduino có 14 chân Digital với các chức năng Input và Output.
  • 24. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10 2.4.2 Giới thiệu về LCD 16x2 Hình 2.3. Hình ảnh LCD - Các tính năng chính của LCD • 5 x 8 chấm với con trỏ. • Tích hợp bộ điều khiển (KS 0.066 hoặc tương đương). • Cấp điện +5V (Ngoài ra có sẵn cho + 3V). • 1 / 16 nhiệm vụ chu kỳ. • B / L sẽ được điều khiển bởi pin 1, pin 2 hay pin 15, pin 16 hoặc AK (LED). • N.V. tùy chọn cho + 3V cấp điện. - Chức năng các chân của LCD: Chân Ký hiệu Mô tả 1 VSS Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển. 2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển. 3 VEE Điều chỉnh độ tương phản của LCD. 4 RS Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi. + Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở
  • 25. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11 Bảng 2.2.Chức năng các chân của LCD. 2.4.3 Giao tiếp I2C Thông thường, để sử dụng màn hình LCD bạn sẽ phải mất rất nhiều chân Arduino để điều khiển.Do vậy, để đơn giản hóa công việc người ta đã tạo ra một mạch điều khiển màn hình LCD sử dụng giao tiếp I2C. Nói một cách đơn giản, bạn chỉ tốn hai dây để điều khiển màn hình thay vì 8 dây như cách thống thường thường làm. chế độ “đọc” - read). + Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD. 5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc. 6 E Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E. + Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào( chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E. + Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp. 7 - 14 DB0÷DB7 Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2 chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7. + Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7. 15 A Nguồn dương cho đèn nền 16 K GND cho đèn nền
  • 26. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12 Hình 2.4 : Hình ảnh I2C. Ở đây đối với LCD 16x2 dùng module I2C địa chỉ tùy thuộc vào jump cắm trên module I2C. Để biết địa chỉ I2C đang dùng ta vào Arduino và cho chương trình I2C scanner để quét địa chỉ dùng cho I2C đang sử dụng. Và địa chỉ mà quét được cho I2C của mình là 0x27. I2C sử dụng hai đường truyền tín hiệu:  Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở 100Khz và 400Khz Mức cao nhất là 1Mhz và 3.4Mhz)  Một đường dữ liệu( SDA) theo 2 hướng. 2.5 MỘT SỐ PHƢƠNG PHÁP TRONG XỬ LÝ ẢNH.[6] 2.5.1 Xử lý điểm ảnh: Ảnh thu về trước xử lý thông thường là những ảnh màu, nghĩa là một pixel bao gồm thông tin ba màu cơ bản là R(đỏ), G(xanh lá), B(xanh biển). Ba màu này được bố trí sát nhau tạo thành các màu khả biến. Mỗi mày R, G, được biểu diễn bởi 8 bits. Như vây mỗi pixel có giá trị 24bits, biểu diễn được khoảng 16,78 triệu màu. Dữ liệu ảnh thu về là ma trận gồm các giá trị 24bits, điều này sẽ gây độ phức tạp rất lớn cho việc xử lý. Nhưng khi ta cần khôi phục ảnh, các pixel sẽ giữ được gần với nguyên gốc nhất. Việc có xử lý trực tiếp trên các pixel mày này hay không phụ thuộc vào mục đích khôi phục ảnh hay chỉ nhằm thu nhận dạng ảnh.
  • 27. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 13 Phần lớn trường hợp, dữ liệu ảnh được xử lý nhằm thực hiện điều khiển nào đó, do đó ảnh không cần thiết phải khôi phục. Vì vậy, ta cần giảm số bit thông tin biểu diễn 1 pixel để việc xử lý thuận tiện hơn. a. Biến ảnh màu thành ảnh xám: Trong ảnh xám, mỗi pixel có giá trị 8 bits thông tin. Ở mức này, cấu trúc ảnh vẫn giữ nguyên, giá trị ma trận ảnh đơn giản rất nhiều. Phù hợp với quá trình xử lý chỉ quan tâm đến cấu trúc ảnh mà không cần đến màu sắc ảnh. Công thức được sử dụng phổ biến đổi ảnh màu thành ảnh xám là: P = aCr + bCb + cCg (2.1) Trong đó: Cr, Cb, Cg là các giá trị mức màu R,B,G. Tùy theo mức độ thu nhận ảnh màu gốc hoặc tùy theo các thiết bị thu nhận mà hệ số a,b,c có các giá trị khác nhau sao cho(a+b+c) <=1. Hình 2.5: Chuyển ảnh màu thành ảnh xám b. Lƣợc đồ xám: Là một biểu đồ với trục tung là mức xám, trục hoành là các pixel. Lược đồ này biểu diễn tần suất xuất hiện của các mức xám trên ảnh. Do ảnh đôi khi được chụp ở nơi quá sáng hay quá tối sẽ làm cấu trúc ảnh không rõ ràng, dựa vào lược đồ xám, ta có thể làm nổi bật cấu trúc ảnh lên.
  • 28. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14 Hình 2.6. Lược đồ xám. Điều này rất cần thiết cho việc nhận dạng ảnh, nhất là với các ảnh chứa nhiều chi tiết thì lại càng quan trọng. c. Nhị phân hóa ảnh: Đây là cách biến đổi các giá trị pixel của ảnh sang giá trị nhị phân (đơn giản nhất) 0 hoặc 1 Khi đó ma trận ảnh sẽ ở mức tối thiểu giá trị giúp việc xử lý đơn giản nhất nhưng đôi khi gây sai lệch cấu trúc ảnh (do các đường viền khác biệt nhỏ dễ bị đồng hóa). Đây chỉ là bước xử lý cho các ảnh có ít chi tiết. Để nhị phân hóa ảnh, ta dựa vào ngưỡng xám trung bình, nếu lớn hơn thì đưa giá trị về 1, nhỏ hơn thì đưa về 0 (thực chất là mức 0 và 255 thể hiện 2 màu đen và trắng). Hình 2.7.: Ảnh xám và ảnh nhị phân
  • 29. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 15 2.5.2 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung bình và lọc dải thông thấp Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc thích hợp. Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc thông thấp, trung bình và lọc đồng hình (Homomorphie); với nhiễu xung ta dùng lọc trung bị, giả trung vị, lọc ngoài (Outlier) a. Lọc trung bình không gian Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận và được định nghĩa như sau: v(m,n) = ∑ ∑ ( ) ( )( ) (2.4) Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương trình trên sẽ trở thành: v(m,n) = ∑ ∑ ( )( ) (2.5) với : y(m, n): ảnh đầu vào, v(m, n): ảnh đầu ra, a(k, l) : là cửa sổ lọc. với ak,l = và Nw là số điểm ảnh trong cửa sổ lọc W. b. Lọc đồng hình (Homomorphie Filter) Kỹ thuật lọc này hiệu quả với ảnh có nhiễu nhân. Thực tế, ảnh quan sát được gồm ảnh gốc nhân với một hệ số nhiễu. Gọi X (m, n) là ảnh thu được, X(m, n) là ảnh gốc và η(m, n) là nhiễu, như vậy: X(m, n) = X (m,n) * η(m, n ) (2.9) Lọc đồng hình thực hiện lấy logarit của ảnh quan sát. Do vậy ta có kết quả sau: Log(X(m, n)) = log( X (m,n) ) + log( η(m, n)) (2.10) Rõ ràng, nhiễu nhân có trong ảnh sẽ bị giảm. Sau quá trình lọc tuyến tính, ta chuyển về ảnh cũ bằng phép biến đổi hàm e mũ.
  • 30. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 16 2.5.3 Nhị phân hóa ngƣỡng động  Nhị phân hóa theo ngưỡng tự động với ý tưởng sau: - Chia tấm ảnh thành nhiều khu vực, cửa sổ khác nhau - Dùng một thuật toán để tìm một giá trị T phù hợp với từng khu vực, cửa sổ (Region). - Áp dụng phương pháp nhị phân hóa cho từngkhu vực, cửa sổ (Region) với T phù hợp. Điều quan trọng trong kĩ thuật này là phải tìm một giá trị T phù hợp với từng khu vực, cửa sổ (Region) hoặc cả tấm ảnh. Có rất nhiều phương pháp để tìm T, ở nội dung tiếp theo tôi sẽ giới thiệu một số thuật toán giúp tìm kiếm giá trị T này.  Thuật toán Otsu Bƣớc 1: Xác định T1. Giá trị cho T1 ban đầu nên chọn là (0+255) / 2 = 128. Bƣớc 2: Phân loại thành 2 nhóm điểm ảnh.  Loại 1 (Type1): chứa tất cả các điểm ảnh có giá trị cường độ sáng (Intensity) <= T.  Loại 2 (Type2): chứa tất cả các điểm ảnh có giá trị cường độ sáng (Intensity) > T. Bƣớc 3: Tính giá trị cường độ sáng trung bình (iAverage) cho Type1 (iAverage1) và Type2 (iAverage2). Bƣớc 4: Tính giá trị T2 theo công thức (iAverage1 + iAverage2) /2. Bƣớc 5: So sánh T1 và T2.  Nếu giá trị chênh lệch của T1 và T2 <= Delta (một giá trị cho trước) thì T2 chính là T cần tìm.  Nếu giá trị chênh lệch của T1 và T2 > Delta Deltal thì quay lại Bƣớc 1.
  • 31. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 17 Hình 2.8: Ngƣỡng tự động theo T1 và T2. 2.5.4 Phân vùng ảnh: Là bước xác định vật thể trong ảnh, bằng cách trích lọc ra vùng có cùng tính chất dựa vào sự đồng nhất về mức xám giữa những pixel. Sau khi phân vùng ảnh, ta sẽ có được vật thể xác định trên ảnh tách biệt với các chi tiết thừa trong hình. Hạn chế là ta chỉ nhận được các vật tách biệt nhau còn với các ảnh nhiều chi tiết, kết quả phân vùng sẽ không chính xác. Đối với cấu trúc ảnh nhị phân, các pixel chỉ mang giá trị 0 hoặc 1 nên việc phân vùng ảnh rất quan trọng nhằm loại bỏ nhiễu, phân tách các vật thể gần nhau hay định rõ một vật thể với các đường liên kết nhỏ. Phương pháp khả thi nhất cho việc phân vùng ảnh nhị phân là làm mảnh và làm đầy: - Làm mảnh: loại bỏ hoàn toàn các nhiễu trong vật thể hay trên biên, tách biệt các vật với nhau. - Làm đầy : đưa các vùng ảnh khôi phục như ban đầu
  • 32. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 18 Tùy theo mục đích và yêu cầu hệ thống, ta có thể sử dụng một vài bước trên để lấy thông tin cần thiết cho việc xử lý ảnh. Đó có thể đơn giản là nhận biết sự khác nhau giữa 2 hình nhằm xác định chuyển động hoặc phức tạp cần đến độ chính xác cao như nhận biết dấu vân tay đối tượng định trước … 2.5.5 Phép toán Dilation. Phép toán Dilation là thao tác giãn nở/ phình to các đối tượng ảnh đơn sắc A và B là hai tập hợp con trong Z2 , thực hiện phép toán Dilation trong A theo B, kí hiệu là A B và được xác định như sau : A B = {z | ̂z A }. Trong Matlab, ta có hàm Dilation như sau: imdilate. B chính là nhân tạo hình. Trong Matlab, chương trình cũng cung cấp cho ta nhiều nhân tạo hình khác nhau, để biết them chí tiết gõ help strel. Trong thực tế, người ta chọn những nhân tạo ảnh sao cho B = ̂, tức là sử dụng nhân tạo ảnh có các phần tử trong nhân tạo ảnh đối xứng qua chính tâm của nó. Bên cạnh đó, với việc ta lê những cái tâm z của nhân tạo ảnh B ảnh đi khắp A và tìm những điểm nào mà B A thì ta có thể hiểu như A B = UbiAbi với Abi là những khu vực mà A Bi . Có thể xem hình minh họa dưới đây:
  • 33. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19 Hình 2.9.a.Đối tượng cần phình A và nhân tạo ảnh B b.Minh họa quét các b,khắp A Hình 2.10. Kết quả của phép toán Dilation. 2.5.6 Phép toán Erosion. Phép toán Erosion là thao tác xói mòn/ co hẹp các đối tượng ảnh đơn sắc. A và B là hai tập hợp con trong Zz , thực hiện phép toán Erosion trong A theo B, kí hiệu là A B và được xác định như sau: A B = { p } Tương tự, trong Matlab ta cũng có hàm Eosion như sau: imerode Để minh họa cách thức phép toán hoạt động có thể xem hình phía dưới với A và B tương tự như ví dụ ở phép toán Dilation. Hình 2.11.Kết quả của phép toán Erosion.
  • 34. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20 2.5.7 Phép toán Openning. Phép toán Openning của hình A theo nhân tạo hình B kí hiệu là A B = (A B ) B. Theo một định nghĩa khác tương đương dựa vào hình học ta có: A B = {Bz |BZ }. Tác dụng của phép toán Openning là loại bỏ nhũng đối tượng không đủ lớn để nhân tạo hình (góc), làm trơn biên, tách rời mấu liên kết với những đối tượng lớn và nhánh con. Trong Matlab hàm hỗ trợ phép toán này là imopen 2.5.8 Phép toán closing Phép toán Closing của hình A theo nhân tạo hinh B kí hiệu là: A B = (A ) B. Tác dụng của phép toán này là làm trơn biên, nối liền những mẫu rời nhau, lắp đầy các lỗ nhỏ. Trong Matlab hàm để sử dụng là imclose. Ngoài ra ta còn có một số tính chất cần lưu tâm sau đây: 2.4.9 Thuật toán đánh nhãn: Khi nhận data hình, ta nhận từng pixel một theo chiều từ trái sang phải, từ trên xuống dưới. Việc xử lý có thể được thực hiện giữa các lines hoặc các frames hình. Do hạn chế về tài nguyên của các board xử lý hình ảnh, mà cụ thể là Ram, ta không thể lưu cả 1 frames ảnh để dành đến cuối khung hình mới xử lý, vậy ta chọn cách thực thi thuật toán giữa các lines. Cấu trúc của đối tượng trong hình có thể đơn giản như hình vuông, chữ nhật … nhưng cũng có thể rất phức tạp như hình sao, hình lục giác…độ lớn cũng khác nhau, trải dài trên nhiều lines và ở mọi vị trí trên hình ảnh. Ta chỉ có thể nhận và xử lý lines từ trên xuống dưới, các lines đã qua xử lý không thể giữ lại nên nếu gặp một phần của đối tượng nằm ở lines bất kì bên dưới, không thể dùng so sánh để biết nó có thuộc đối tượng nào ở trên hay không.
  • 35. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21 Hình 2.12 : Vật có cấu trúc đơn giản-hình vuông và phức tạp và hình xoắn ốc. Cách giải quyết vấn đề này là đánh nhãn đối tượng. Với mỗi pixel nhận được, ta đánh số cho pixel đó, các pixel ở cạnh nhau mà cùng thuộc vật thể( có giá trị “1” khi nhận từ bước tiền xử lý) sẽ được gán cùng một nhãn( nhãn là một giá trị nào đó theo thứ tự số). Vậy cần lưu lại ít nhất 1 line ở trên để so sánh, điều này có thể thực hiện được bởi 1 line gồm 1024 Pixels, không quá nhiều. Do hạn chế của cách hoạt động trên phần cứng, ta chỉ có thể so sánh mỗi pixels ở trên và phía trước nó chứ không thể so sánh toàn bộ các pixels xung quanh. Ví dụ với các hình vuông và chữ nhật ở trên, với hình vuông gồm 9 pixels, 9 pixels đó đều mang nhãn số 1, tương tự cho hình vuông 4 pixels, 4pixels đó đều mang nhãn là số 2…Nhưng với hình xoắn ốc, cách đánh nhãn này không chính xác, bởi càng xuống phía dưới, nhãn đánh lên các pixel càng khác nhau. Nhằm thỏa vấn đề này, ta sử dụng cách đánh nhãn có giá trị. Với mỗi nhãn được đánh cho các pixels, ta đi đính kèm với nó có một giá trị. Tức con số gán lên pixel là địa chỉ, địa chỉ này tất nhiên sẽ chứa (hay chỉ đến, dạng con trỏ) một giá trị khác. Như vậy, mục đích là từ một vật thể mang nhiều nhãn khác nhau nhưng các nhãn đều có cùng 1 giá trị, xét theo giá trị thì chúng cùng một đối tượng. Nếu 2 nhãn khác nhau liền kề, ta chỉ cần cập nhật giá trị cho nhãn có số lớn hơn, do ưu tiên các số nhỏ.
  • 36. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22 Sau đây là sơ đồ giải thuật của thuật toán, với các ghi chú:  Pixel_in: pixel nhận vào theo thứ tự  Pixel_up: pixel ở bên trên pixel đang xét.  Pixel_focus: pixel đang đươc xử lý.  Pixel_pre: pixel phía trước pixel đang xét  Count: biến đếm dùng làm nhãn đối tượng. Hình 2.13: Lưu đồ giải thuật cho thuật toán đánh nhãn Thuật toán hoạt động cụ thể nhu sau: pixel lấy vào nếu có giá trị lơn hơn 127, tức là thuộc nền, thay bằng pixel_in có giá trị “0”, ngược lại là “1” như đã nói ở trên. Nếu là nền thì bỏ qua, nhưng nếu là vật thể thì xét pixel_up ở trên ở trên đã đánh nhãn rồi thì cứ theo đó mà gán giá trị vào, còn không phải vật thì xét pixel_pre ở trước, phía trước là vật thể thì theo đó mà đánh nhãn. Nếu cả trên và phía trước đều chưa có nhãn, ta đánh nhãn mới cho pixel này. Việc này thực thi tuần tự với mỗi pixel vào, không dừng lại cho đến khi dừng xử lý bởi người dùng. Việc cập nhật giá trị cho nhãn được thực thi khi BEGIN Pixel_in=1 Pixel_up=0 0 Pixel_pre=0 Pixel_focus=pixel_up Pixel_focus=pixel_pre Pixel_focus=count+ 1 Pixel_in N N N Y Y Y
  • 37. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23 pixel_forcus gán theo nhãn pixel_up nhưng pixel_pre đã có nhãn. Đến đâu pixel_focus và pixel_pre liền kề nhau mang nhãn khác nhau, vậy nhãn nào nhỏ hơn thì lấy giá trị nhãn đó chung cho cả hai. Nhãn là chuỗi số tăng dần có chứa giá trị, vậy trong phần cứng, đó chính là Ram. Còn để lưu lại cả một line rồi lấy dần ra làm pixel_up, bộ Fifo( First in first out) chính là lựa chọn tốt nhất. Việc sử dụng các pixel phía trên và phía trước này cụ thể như sau: Hình 2.14. Lưu đồ giải thuật cho toán đánh nhãn Để dễ hiểu hơn việc cập nhật giá trị cho các nhãn, ta xem thử vật thể sau: Hình 2.15: Vật thể màu đen đã được đánh nhãn Các nhãn liền kề bị khác nhau và cần cập nhật giá trị lai tại các vị trí “2!” và “1!”. Nhìn cách cập nhât giá trị này có vẻ phức tạp bởi ta có thể xét lại từ đầu line lần nữa và đổi giá trị các nhãn cần thay. Nhưng giả sử gặp phải vật thể kéo dài đến cuối mép phải khung hình mới phải cập nhật, ta cần khoảng 1023 clocks trong trường hợp xấu nhất, điều Pixel_up FIFO VGA Pixel_in Pixel_focus Pixel_pre Analysis
  • 38. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 24 này là không thể đối với hệ thống xử lý thời gian thực. Ram được sử dụng trong trường hợp cụ thể này như sau: Hình 2.16. : Mô phỏng thuật toán đánh nhãn. Ô nhớ mang địa chỉ “0” trong Ram không được sử dụng bởi nó trùng giá trị với “giá trị nền” của pixel_in. Đây là lý do ta chọn nền là “0”, vật thể là “1”, giúp sử dụng được hết các ô nhớ Ram. Số lượng vật thể đếm được cũng theo đó mà được tối ưu. Ví dụ như Ram sử dụng có độ dài 10bits ta theo đó đếm được 1022 vật thể Thực tế nếu trong hình có nhiều đối tượng có cấu trúc phức tạp, hay nhiều đường cong, biết Count dùng để đánh nhãn sẽ nhanh chóng bị tràn cho dù có dùng độ dài bít lớn đến đâu đi nữa. Chẳng hạn với ví dụ trên ta có thể thấy một vật nhưng có đến 3 nhãn, điều này làm phung phí tài nguyên không cần thiết.Vấn đề ảy sinh tiếp theo là tìm cách sử dụng lại những nhãn không cần thiết nữa, một đối tượng dùng một nhãn là đủ. Cách giải quyết hiệu quả nhất là dùng bộ Fifo. Các nhãn đã được cập nhật thay đổi giá trị sẽ đưa vào nó Fifo lưu trữ, khi cần sẽ lấy ra theo thứ tự, điều này giúp các nhãn được sử dụng dồn hẳng về đầu Ram, tức là các địa chỉ có giá trị nhỏ, theo kiểu sắp xếp, thuận lợi cho việc xác định vật thể sau này. Để đếm số lượng vật thể trong ảnh, ta đếm dựa vào các ô nhớ trong RAM. Xét lần lượt các địa chỉ của RAM, nếu địa chỉ ô nhớ giống với các giá trị trong đó thì được một vật thể, trừ địa chỉ ô nhớ”0”. Việc này thực thi vào cuối mỗi Frame hình, khi có cạnh lên hoặc cạnh xuống của vsync tùy theo thuật toán sử dụng sao cho phù hợp giữa chốt lấy giá trị biến đếm number và reset các biến. Theo ví dụ trên các nhãn 1, 2, 3 đều có chung giá trị 1, vậy chúng cùng thuộc một đối tượng, nhãn 4 đối tượng tiếp theo, cứ thế cho đến ô địa chỉ RAM cuối cùng.
  • 39. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25 Hình 2.17 : Số lượng vật được xác định dựa vào RAM 2.4 CÁC HÀM XỬ LÝ TRONG MATLAB[4]. Các hàm chính hiển thị ảnh trong matlab:  Hàm image(x,y,c): Hiển thị hình ảnh biểu diễn bởi ma trận c kích thước m x n lên hệ trục tọa độ, x,y là các vector xác định vị trí của các pixel c(m,n).  Hàm imagesc: Tương tự hàm image, dữ liệu ảnh sẽ được co giãn để sử dụng toàn bộ bản đồ màu hiện hành.  Hàm imshow: Cho phép hiển thị ảnh trên một figure và tự động thiết lập giá trị các đối tượng image, axes, figure để hiển thị hình ảnh. Các hàm khác được sử dụng trong đề tài:  T=strcat(s1,s2,s3…): Ghép các chuỗi lại với nhau, trả về chuỗi nối tiếp s1s2s3…  length(): Lấy chiều dài.  T=dir(pathname): Lấy thông tin của một Folder bao gồm: Số file chứa trong folder, tên file, ngày tạo, kích thước file…  S=int2str(x): Chuyển đổi số kiểu integer thành chuỗi ký tự.  D=size(a): Trả về giá trị là ma trận có dạng [x,y] là kích thước của ma trận a.  rgb2gray(RGB) : Chuyển đổi ảnh màu sang ảnh xám  im2bw(I, level): Chuyển đổi hình ảnh xám sang hình ảnh nhị phân, dựa trên ngưỡng.  bw2 = bwareaopen(BW, P): Loại bỏ các đối tượng nhỏ khỏi hình ảnh nhị phân  medfilt2(A): lọc trung bình ma trận A theo hai chiều.
  • 40. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26  imopen( IM,SE): thực hiện mở hình thái trên màu xám, IM là hình ảnh nhị phân, SE là phần tử cấu trúc  bwboundaries(BW): đánh dấu biên giới các vật thể, cũng như ranh giới của lỗ bên trong các đối tượng này(BW).  bwlabel(BW): kết nối các thành phần có trong hình ảnh nhị phân.  text(x,y,z,'string','PropertyName',PropertyValue): Tạo đối tượng văn bản trong các trục hiện tại.  length(X) : chiều dài lớn nhất của số nguyên X. Các hàm chuyển đổi loại ảnh và kiểu dữ liệu ảnh Dither Tạo ảnh nhị phân hay ảnh RGB gray2ind Chuyển ảnh trắng đen thành ảnh indexed im2bw Chuyển ảnh thành ảnh kiểu dữ liệu nhị phân im2double Chuyển ảnh thành ảnh kiểu dữ liệu double im2uint16 Chuyển ảnh thành ảnh kiểu dữ liệu uint16 ind2rgb Chuyển ảnh indexed thành ảnh RBG mat2gray Tạo ảnh gray scale từ ma trận rgb2ind Chuyển ảnh RBG thành ảnh indexed rgb2gray Chuyển ảnh RBG thành ảnh gray scale Các hàm truy xuất dữ liệu ảnh Imfinfo Truy xuất thông tin ảnh Imread Đọc ảnh từ file và xuất ra ma trận ảnh Imwrite Lưu ma trận ảnh thành file ảnh Các hàm biến đổi hình học Imcrop Trích xuất một phần ảnh Imresize Thay đổi kích thước ảnh Imdilate Phép toán giãn nở điểm ảnh nhị phân Imerode Phép toán xói mòi điểm ảnh nhị phân
  • 41. CHƢƠNG 2.CƠ SỞ LÝ THUYẾT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 27 Imopen Phép toán mở điểm ảnh nhị phân Imclose Phép toán đóng điểm ảnh nhị phân Bảng 2.3 Các hàm xử lý hình ảnh khác trong Matlab.
  • 42. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 28 Chương 3: TÍNH TOÁN VÀ THIẾT KẾ 3.1 GIỚI THIỆU. Nhiệm vụ chính của chương trình là đếm đối tượng từ ảnh đầu vào. Đếm đối tượng bằng cách xử lý lý ảnh đầu vào bằng các phương pháp, thuật toán khác nhau như đã nêu ở chương 2 để đưa ra được kết quả là số đối tượng cụ thể có trong ảnh. Cuối cùng nhúng dữ liệu kết quả đếm được xuống Kit Arduino. Như vậy, ở chương này nhóm sẽ thực hiện các nội dung:  Giải thích sơ đồ nguyên lý của kit Arduino.  Tính toán và thiết kế sơ đồ khối cho toàn hệ thống.  Cài đặt các gói hỗ trợ cho phần mềm Matlab. 3.2 THIẾT KẾ HỆ THỐNG. 3.2.1 Thiết kế sơ đồ khối hệ thống. Với mục tiêu xây dựng chương trình đếm đối tượng từ ảnh đầu vào, tiến hành thiết kế hệ thống đếm đối tượng bao gồm các quá trình: Lấy ảnh đầu vào, xử lý ảnh đầu vào và dùng thuật toán để đếm đối đối tượng từ ảnh đầu vào đã qua xử lý. Với mục tiêu là đếm đối tượng từ ảnh đầu vào, ta tiến hành thiết kế hệ thống đếm đối tượng trong ảnh bao gồm các bước cụ thể như:
  • 43. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29 Hình 3.1. Sơ đồ quá trình đếm đối tượng. - Khối lấy ảnh đầu vào: Trong giai đoạn này hình ảnh đầu vào được lấy để xử lý hình ảnh. Hình ảnh được chụp bằng định dạng file camera. như PNG, JPEG, PEG … - Khối xử lý hình ảnh đầu vào: Xử lý hình ảnh là thao tác của một hình ảnh để kết quả sẽ phù hợp hơn so với hình ảnh gốc trước khi xử lý và do đó nó là một giai đoạn quan trọng của sự công nhận đối tượng. Đầu tiên trong giai đoạn chế biến trước là đối với các ảnh có dính những phông nền ta không muốn xử lý hoặc những đối tượng không cần thiết cần loại bỏ thì ta nên cắt ảnh để lấy phần mà ta mong muốn xử lý. Bước thứ hai ta chuyển ảnh từ ảnh màu sáng ảnh xám. Bước thứ ba ta tiến hành tìm ngưỡng phù hợp cho ảnh để chuyển một ảnh xám thành ảnh nhị phân. Ảnh nhị phân có cường độ điểm ảnh bằng 0 hoặc 1. Phông nền mang các điểm ảnh màu trắng có cường độ 0 và vị trí hàng đầu mang các điểm ảnh màu đen có 1 cường độ. Bước cuối cùng là loại bỏ khuyết điểm, tình trạng Ảnh đầu vào (ảnh chụp sẵn) Xử lý ảnh đầu vào Đếm đối tượng trong ảnh Xuất kết quả - ứng dụng Phân đoạn hình ảnh
  • 44. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30 thiếu trong hình ảnh và cung cấp thông tin về hình thức và cấu trúc của các hoạt động ảnh sử dụng các hình thái học như xói mòn, giản nỡ, đóng hoặc mở đối tượng… - Khối phân đoạn hình ảnh: Phân đoạn hình ảnh là sự phân chia của một hình ảnh thành các vùng tương ứng với các đối tượng khác nhau. Nó thường được sử dụng để định vị các đối tượng và ranh giới trong hình ảnh. - Khối đếm đối tượng trong ảnh: ảnh sau khi đã qua giai đoạn xử lý ảnh đầu vào sẽ đến bước đếm đối tượng có trong ảnh dựa vào thuật toán đánh nhãn. - Khối xuất kết quả - ứng dụng: Hệ thống sẽ xuất kết quả đếm được trong ảnh đầu vào ra giao diện và đồng thời chạy ứng dụng trên kit Arduino. 3.2.2 Thiết kế các khối hệt thống. Hệ thống được xây dựng toàn bộ trên nền Matlab nhúng dữ liệu xuống kit Arduino nên quá trình tính toán và thiết kế được thực hiện chủ yếu trên phần mềm. a. Thiết kế khối lấy ảnh đầu vào. Ở khối đầu vào nhóm sử dụng một bộ ảnh chụp từ camera. Các ảnh được chụp là ảnh màu có kích cỡ ảnh phù hợp và được chụp từ một khoảng cách phù hợp để thuận tiện cho quá trình xử lý ảnh đầu vào. b. Thiết kế khối xử lý hình ảnh. Xây dựng một chương trình để xử lý bằng các lệnh, hàm được thư viện Matlab hỗ trợ. Sau khi có ảnh đầu vào, ta chuyển đổi từ ảnh màu sang ảnh xám bằng cách sử dụng hàm rbg2gray(). Để phân biệt các đối tượng và nền trong ảnh xám thì ta chuyển ảnh xám sang ảnh nhị phân. Trước khi chuyển sang ảnh nhị phân ta nên tìm cường độ ngưỡng phù hơp cho ảnh bằng hàm graythresh() từ ngưỡng đó ta tạo ảnh nhị phân bằng cách sử dụng hàm im2bw(I,graythresh). Tiếp theo loại bỏ các khuyết điểm ảnh ta dùng các hoạt động hình thái ảnh cơ bản, sau đó sử dụng thuật toán đánh nhãn để thực hiện phép đếm đối tượng. c. Thiết kế khối phân đoạn hình ảnh. Phân đoạn ảnh là bước đầu tiên trong phân tích hình ảnh với mục đích: chia nhỏ một hình ảnh thành từng vùng có nghĩa để phục vụ cho việc phân tích sâu hơn. Để phân tích các đối tượng trong ảnh, chúng ta cần phải phân biệt được các đối tượng cần quan
  • 45. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31 tâm với phần còn lại của ảnh. Những đối tượng này có thể được tìm ra nhờ các kỹ thuật phân đoạn ảnh. Các bước phân vùng ảnh theo ngưỡng:  Làm trơn ảnh  Làm trơn Histogram  Chọn ngưỡng dựa vào biểu đồ d. Khối đếm đối tượng trong ảnh. Khối này sẽ dựa vào thuật toán đánh nhãn để đếm các đối tượng có trong ảnh từ ảnh đầuvào đã được xử lý. e. Khối xuất kết quả và ứng dụng. Khối này sẽ đọc và xuất kết quả đếm được từ Matlab và nhúng lệnh điều khiển ứng dụng trên kit Arduino. Hình 3.2. Sơ đồ nguyên lý khối ứng dụng.
  • 46. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32 3.3 TỔNG QUAN VỀ PHẦN CỨNG. 3.3.1 Tổng quan các khối chính. Dựa trên cơ sở của phần thiết kế hệ thống, ta tiến hành chọn thiết bị và thiết kế sơ đồ khối phần cứng. Hình 3.3.Tổng quan các khối. Máy tính: Có nhiệm vụ cài đặt chương trình để viết code, cung cấp nguồn cho phần cứng thông qua cổng USB. Viết chương trình trên Matlab, lấy ảnh đầu vào từ hình ảnh có sẵn, nhúng xuống phần cứng kit Arduino Uno sau đó nhận dạng hiển thị kết quả trên máy tính và trên phần cứng. Kit Arduino Uno: Có nhiệm vụ kết nối giữa máy tính và các ứng dụng, là bộ xử lý chính của đề tài, nhận các kết quả đếm từ máy tính để điều khiển các ứng dụng được kết nối trực tiếp với Kit. LCD: Được kết nối với Kit Arduino Uno nhận lệnh điều khiển từ trực tiếp từ Arduino hiển thị kết quả ra màn hình của LCD.
  • 47. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33 3.3.2 Board Arduino Uno R3[9]. a. Sơ đồ nguyên lý. Hình 3.4. Sơ đồ nguyên lý board Arduino Uno R3. b. Giải thích sơ đồ nguyên lý Arduino Uno R3. Điều quan trọng nhất trong một board Arduino là một vi điều khiển, vi điều khiển này sẽ thực hiện những chỉ thị trong ứng dụng của người dùng. ATmega328 tên đầy đủ là ATmega328P-PU là vi điều khiển của board mạch arduino, sử dụng như một bộ điều khiển chính. Nó là một thiết bị 8-bit nghĩa là được thiết kế chỉ làm việc tối đa với các dữ liệu 8-bit đồng thời. Với ATmega328 có thể tạo một board mạch Arduino đơn giản.
  • 48. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34 Hình 3.5. Sơ đồ chân ATmega328. ATmega328 có ba loại bộ nhớ:  Bộ nhớ Flash: 32KB bộ nhớ, không bị mất dữ liệu. Bộ nhớ này dùng để lưu trữ các ứng dụng trên board Arduino. Người dùng không cần tải lại ứng dụng khi ngắt nguồn cung cấp cho board.  Bộ nhớ SRAM: 2KB bộ nhớ, bị mất dữ liệu khi ngắt nguồn dùng để lưu trữ các biến dữ liệu khi chạy chương trình.  Bộ nhớ EEPROM: 1KB bộ nhớ, không bị mất dữ liệu dùng để lưu dữ liệu mỗi khi nguồn điện ngắt và mở lại. Vi điều khiển này gồm có 28 chân bao gồm các chân nguồn và chân I/O. Đa số các chân đều gồm nhiều chức năng, người dùng có thể sử dụng các chân tùy theo chương trình trên board. Điều này làm giảm số chân cần sử dụng. Chân nguồn của vi điều khiển chỉ nhận điện áp cung cấp trong khoảng 1,8 - 5,5V. Trong một số trường hợp nếu không cung cấp đủ điện áp sẽ làm ảnh hưởng đến ứng dụng.
  • 49. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35 Chân kỹ thuật số I/O của vi điều khiển gồm ba cổng: PORTB, PORTC, PORTD. Tất cả các chân được dùng như là chân kỹ thuật số I/O tuy nhiên có thể được dùng với chức năng thay thế khác. Một số chân có cấu hình đầu ra khác như là PWM. Các chân trên board Arduino Uno:  Serial: Chân 0 nhận dữ liệu và chân 1 truyền dữ liệu nối tiếp TTL.  Ngắt ngoài: Chân 2 và 3 được sử dụng như một bộ ngắt.  PWM: Chân băm xung gồm các chân 3, 5, 6, 9, 10, 11. Cung cấp đầu ra tương tự 8-bit.  SPI: Chân 10, 11, 12, 13. Các chân này hỗ trợ giao tiếp SPI bằng cách sử dụng thư viện SPI.  LED: Có một đèn LED điều khiển bằng chân 13. Khi chân có giá trị cao, đèn LED được bật, ngược lại thì đèn LED tắt.  TWI: A4 và A5. Hỗ trợ giao tiếp TWI.  Đầu vào tương tự: Có 6 chân từ A0 tới A5 cung cấp độ phân giải 10-bit theo mặc định từ 0 tới 5V thay đổi bằng chân AREF.  Reset: Thiết lập lại vi điều khiển. Chíp Atmega16U2 sẽ làm nhiệm vụ USB-to-Serial, hay nói cách khác là tạo cổng COM ảo phục vụ cho việc lập trình cho vi điều khiển Atmega328. Khối ADC đầu vào gồm có sáu kênh từ PORTC0 đến PORTC5 với bộ chuyển đổi A/D có độ phân giải 10-bit. Các chân dùng trong bộ chuyển đổi A/D này là:  Chân AVCC: Chân nguồn cho bộ chuyển đổi A/D  Chân AREF: Chân cung cấp điện áp tham chiếu cho ADC nếu cần điện áp lớn hơn VREF nội bộ. UART ngoại vi (Universal Asynchronous Receiver / Transmitter): Các chân (RX, TX) được kết nối với một mạch chuyển đổi USB-to-UART và cũng kết nối với chân 0 và chân 1 trên board. Không sử dụng UART khi đã truyền và nhận dữ liệu qua USB. Vi điều khiển ATmega328 chỉ có một UART duy nhất. SPI ngoại vi (Serial Peripheral Interface) là một giao diện nối tiếp, duy nhất trên ATmega328. Có thể xác định chân của SPI trên vi điều khiển hoặc trên board:
  • 50. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36  Chân 11: MOSI.  Chân 12: MISO.  Chân 13: SCK. Cầu USB-to-UART có chức năng chuyển đổi các tín hiệu giữa giao diện USB với giao diện UART. Vi điều khiển ATmega328 sử dụng ATmega16U2 cùng với một bộ thu phát USB nội bộ cho chức năng này. Hình 3.6. Cầu USB-to-UART. Nguồn điện cho board Arduino có thể được cung cấp bằng cổng USB hoặc bằng nguồn DC trực tiếp vào board. Nguồn DC phải đảm bảo trong khoảng từ 7V đến 12V nếu cao hơn sẽ gây hư hại cho board, ngược lại các ứng dụng trên board sẽ không hoạt động tốt vì không đủ điện áp. Các chân nguồn bao gồm:  Vin: Điện áp đầu vào của board Arduino. Có thể cung cấp điện áp cho board Arduino thông qua chân này.  5V: Nguồn 5V lấy từ board Arduino. Lưu ý nếu ta cung cấp nguồn nhỏ hơn 7V thì nguồn lấy từ board sẽ ít hơn 5V và lớn hơn 12V sẽ gây hư hại đến board.
  • 51. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37  3V3: Nguồn 3V3 lấy từ board Arduino  GND: Chân nối đất. Hình 3.7. Bộ nguồn. 3.4 CÀI ĐẶT CÁC GÓI HỖ TRỢ PHẦN CỨNG CHO MATLAB 3.4.1 Kết nối Arduino với Matlab. Đầu tiên tiến hành cài đặt gói Arduino trên nền Matlab. Matlab có hỗ trợ các Package từ phần cứng Ardunio và giao tiếp với nhau thông qua cổng USB. Các gói Package được tạo ra dựa trên hoạt động của các chương trình trên board, nó có hỗ trợ trên môi trường như Windows, Mac OS, Linux. Trong phần này nhóm chỉ tập trung vào giao tiếp giữa Ardunio và Matlab. Để cài đặt gói Package làm như sau: Từ giao diện Matlab, click vào Add-Ons chọn Get Hardware Support Package.
  • 52. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38 Hình 3.8. Get Hardware Support Package. Cửa sổ Support Package Installer hiện lên, chọn Install from Internet Hình 3.9. Cửa sổ “Support Package Installer”.
  • 53. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39 Sau đó chọn vào Arduino và tick vào cài đặt các Package. Hình 3.10. Giao diện cài Package cho Arduino. Đăng nhập vào tài khoản Matlab. Hình 3.11. Đăng nhập cho cửa sổ “MathWorks Account Log In”. Sau khi đăng nhập xong, nhấn Next để cài đặt đến hết. Nhấn Finish để kết thúc phần cài đặt.
  • 54. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40 3.4.2 Kiểm tra kết nối Arduino với Matlab. Trên Command Window gõ lệnh: “a= Arduino”. Đây là câu lệnh để kiểm tra kết nối giữa Arduino với Matlab và các Packages đã được cài đặt để hỗ trợ cho Arduino hay chưa. Hình 3.12. Kết nối Arduino và Matlab thành công. 3.4.3 Kết nối LCD với I2C Vì ta tải thư viện hỗ trỡ sử dùng LCD (LiquidCrystal_I2C.h) giao tiếp với I2C với 2 chân A4, A5 bắt buộc trong thư viên thay thế tương ứng cho SDA và SCL của 2 chân tín hiệu dùng cho giao tiếp I2C nên ta có kết nối sau: Module màn hình LCD (16x2) Arduino GND GND Vcc 5V SDA A4 SCL A5 Bảng 3.1: Chân kết LCD với I2C
  • 55. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41 Để LCD có thể hiện thị các kí tự thì ta cần địa chỉ màn hình bus I2C trong LCD, vì thế ta nạp cần nạp code cho chương trình tìm địa chỉ thật của LCD và I2C. Ở đây, địa chỉ bus I2C của ta tìm được là 0x27. Hình 3.13 Kết quả trả về khi kết nối I2C Việc giao tiếp thu nhận dữ liệu từ Matlab với Arduino trả về LCD cũng rất dễ dàng vì trong gói hỗ trợ cài đặt phần mềm Matlab với Arduio cũng đã hỗ trợ thư viện cho I2C nên việc thực thi cũng trở nên bình thường.
  • 56. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42 Chương 4. THI CÔNG HỆ THỐNG 4.1 GIỚI THIỆU. Chương này nhóm giới thiệu về hệ thống nhóm đã thực hiện, lưu đồ cho chương trình đếm đối tượng qua hình ảnh, chương trình chính và các bước thao tác để sử dụng mô hình. 4.2 THI CÔNG HỆ THỐNG. Mô hình đồ án do nhóm thực hiện: Hình 4.1. Mô hình trong quá trình thực hiện.
  • 57. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43 4.3 LƯU ĐỒ GIẢI THUẬT. 4.3.1 Tổng quát về hệ thống Hình 4.2. Lưu đồ chính hệ thống. Để hoàn thành mục tiêu là đếm đối tượng trong ảnh thì ta phải xây dụng thành công chương trình xử lý ảnh đầu vào và chương trình đếm đối tượng trong ảnh sử dụng thuật toán đánh nhãn. 4.3.2 Chi tiết về hệ thống. Ảnh đầu vào được chụp từ camera điện thoại trước khi đưa vào chương trình xử lý ảnh đầu vào. Sau đó chương trình xử lý ảnh đầu vào được tiến hành theo các bước sau: Bắt đầu Xử lý ảnh đầu vào Đếm đối tượng Kết thúc Đưa ảnh vào
  • 58. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44 Hình 4.3 Lưu đồ đếm đối tượng Chương trình xử lý ảnh đầu vào được thực hiện lần lượt qua các quá trình cụ thể. Đầu tiên là từ ảnh đầu vào cắt ảnh thủ công để loại bỏ các thành phần không mong muốn xung quanh đối tượng cần xử lý,sau đó là chuyển ảnh đầu vào sang ảnh xám ( nếu là ảnh màu) và tiếp theo là tìm một giá trị ngưỡng thích hợp bằng cách sử dụng hàm graythresh (). Sau đó là chuyển sang ảnh nhị phân. Kế tiếp là sử dụng các phương pháp hình thái học như co giãn ảnh, xói mòn, đóng mở đối tượng trong ảnh để thu được các đối tượng trong ảnh cũng loại bỏ các đối tượng không mong muốn. Bắt đầu Kết thúc Lấy ảnh đầu vào Chuyển ảnh màu thành ảnh xám Chọn ngưỡng thích hợp Chuyển ảnh xám thành ảnh nhị phân Áp dụng các phương pháp hình thái học Cắt ảnh
  • 59. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45 Tiến hành chương trình đếm đối tượng theo lưu đồ : Hình 4.4. Lưu đồ chương trình đếm đối tượng.  Chương trình đếm đối tượng tiến hành lần lượt lấy ảnh đầu vào được chụp từ điện thoại. Sau đó được xử lý ảnh đầu vào để loại bỏ nhũng yếu tố không cần thiết. Tiến hành gán giá trị biến đếm =0 sau đi thực hiện chu kì kiểm tra đối tượng trong ảnh và so sánh với giá trị biến đếm. Khi mà giá trị biến đếm bằng với số đối tượng thì dừng quá trình kiểm tra và xuất giá trị đã đếm được ra giao diện đồng thời dùng kết quả để nhúng xuống Arduino. Bắt Đầu Biến đếm = 0 Xử lý ảnh đầu vào Biến đếm + 1 Biến đếm< số đối ttượng Xuất số lượng đếm được Kết thúc Đưa ảnh vào No Yes
  • 60. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46  Quá trình nhúng kết quả xuống Arduino được thực hiện như sau: Hình 4.5. Lưu đồ chương trình dếm đối tượng. Điều khiển ứng dụng trên Arduino: đưa kết quả xuống Arduino. Đặt một biến đếm ban đầu bằng 0 sau đó thay đổi giá trị đếm được và điều khiển ứng dụng tương ứng với kết quả đếm được. Bắt đầu Điều khiển ứng dụng trên Arduino Kết thúc Xử lý ảnh đầu vào Đưa qua chương trình đếm đối tượng Xuất kết quả đếm
  • 61. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47 Hình 4.6. Lưu đồ chương trình điều khiển ứng dụng trên Arduino. 4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC. 4.4.1 Viết tài liệu hướng dẫn sử dụng. Bước 1: Kết nối với kit Arduino với máy tính. Bước 2: Tiến hành chạy chương trình đếm đối tượng. Bước 3: Chụp ảnh cần đếm bằng camera điện thoại,, sau đó đưa ảnh vào thư mục Image. Bước 4: Chạy chương trình chính. Bước 5 Quan sát kết quả Bắt đầu Xuất kêt quả đếm Arduino đọc kết quả từ Matlab Hiển thị kết quả đếm ra lcd Kết thúc
  • 62. CHƯƠNG 4. THI CÔNG HỆ THỐNG BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48 Hình 4.7. Quy trình thao tác với thuật toán đánh nhãn. 4.4.2 Quy trình thao tác trên giao diện. Bước 1: Kết nối kít Arduino với máy tính. Bước 2: Tiến hành chạy chương trình đếm đối tượng. Bước 3 Tiến hành chạy chương trình giao diện, chương trình sẽ hiển thị giao diện ban đầu với tên trường, tên đề tài, tên sinh viên thực hiện và giáo viên hướng dẫn. Để vào giao diện đếm đối tượng trong ảnh, chọn “Next”. Bước 4: Chụp ảnh cần đếm bằng camera điện thoại, sau đó đưa ảnh vào thư mục Image trong máy tính. Bước 5: Tiến hành đếm đối tượng, chọn vào đối tượng cần đến để đi đến giao diện cho đối tượng đó. Sau đó chọn “Tải ảnh” để chọn ảnh cần đếm tiếp theo chọn “đếm” để tiến hành đếm đối tượng cần đếm trong ảnh vừa chọn. Bước 6: Quan sát kết quả. Kết quả đếm sẽ hiển thị ở khung kết quả trên giao diện và trên cả lcd theo từng đối tượng vừa chọn. Chuẩn bị Kết nối với Arduino Chạy chương trình Quan sát kết quả Chạy chương trình chính Chụp ảnh cần đếm
  • 63. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49 Chương 5. KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ 5.1 KẾT QUẢ. 5.1.1 Tổng quan kết quả đạt được. Sau hơn 3 tháng tìm hiểu tài liệu chuyên môn, tài liệu internet cùng sự giúp đỡ tận tình của giáo viên hướng dẫn, nhóm thực hiện đề tài:”Đếm đối tượng trong ảnh” đã hoàn thành xong theo yêu cầu và đúng thời gian quy định với những nội dung sau:  Biết được kiến thức cơ bản về Arduino, cài đặt được gói hỗ trợ Arduino, kết nối Arduino với phần mềm Matlab.  Hiểu được thuật toán đánh nhãn đối tượng trong ảnh và áp dụng được thuật toán vào trong bài toán đếm đối tượng trong ảnh.  Xây dựng được chương trình đếm đối tượng trong ảnh từ ảnh đầu vào được chụp từ camera điện thoại.  Viết giao diện thao tác cho người sử dụng  Đếm thành công khoảng 85% với phương pháp đánh nhãn.  Tương ứng với số lượng đối tượng đếm được hiển thị trên giao diện thì điều khiển thành công ứng dụng cơ bản (hiển thị trên LCD) cho kit Arduino từ phần mềm Matlab. 5.1.2 Kết quả thực tế. a. Giao diện sử dụng. Nhóm đồ án đã tạo được giao diện cho người dùng thao tác được dễ dàng hơn
  • 64. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50 Hình 5.1. Giao diện ban đầu Hình 5.2. Giao diện chọn lựa đối tượng đếm. - Giao diện chọn lựa đối tượng gồm các nút:  Đếm tế bào: tiến hành đi đến giao diện đếm đối tượng tế bào  Đếm cây: tiến hành đi đến giao diện đếm cây.  Đếm thuốc: tiến hành đi đến giao diện đếm thuốc.
  • 65. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51 Hình 5.3. Giao diện đếm tế bào. - Giao diện đếm tế bao gồm các nút:  Tải ảnh : chọn bất kì ảnh tế bào nào để đếm.  Đếm: tiến hành quá trình đếm các đối tượng có trong ảnh và xuất kết quả ra giao diện và trên kit Arduino và LCD.  Dừng: dừng chương trình đếm để có thể thoát ra được chương trình để chạy chương trình khác.  Quay lại: Quay lại màn hình giao diện chọn lựa chọn.
  • 66. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52 Hình 5.4. Giao diện đếm cây Hình 5.5. Giao diện đếm thuốc. Tương tự như giao diện đếm tế bào thì giao diện đếm cây và đếm thuốc cũng có những nút nhấn quay lại, tải ảnh, đếm và dừng. Các nút nhấn này cũng có chức năng như các nút nhấn ở phần giao diện đếm tế bào.
  • 67. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53 b. Kết quả đếm đối tượng bằng phương pháp đánh nhãn  Đếm tế bào Kết quả ảnh nhóm tìm được bao gồm 10 ảnh với những bức ảnh được chụp và được tải về từ mạng có sẵn để thuận tiện cho việc liên quan đếm đối tượng tế bào. Các bức ảnh có độ sáng, phông nền, màu sắc, kích cỡ và đối tượng khác nhau nhằm tăng độ phổ biến của phép đếm. Hình 5.6: 10 bức ảnh đếm tế bào mà nhóm thực hiền đề tài Kết quả:
  • 68. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54 Hình 5.7. Đếm tế bào màu hồng thành công. Hình 5.8: Đếm tế bào màu tím sạm thành công.  Đếm cây Tương như đếm tế bào thì nhóm cũng chụp và lưu giữ được 10 ảnh với những màu sắc và đối tượng cây khác nhau để việc đếm cây phổ biến hơn.
  • 69. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 Hình 5.9: 10 Bức ảnh đếm cây mà nhóm thực hiện đề tài Kết quả: Hình 5.10: Đếm cây loại 1 thành công
  • 70. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 Hình 5.11: Đếm cây loại 2 thành công  Đếm thuốc Cũng như hai đối tượng trên việc đếm thuốc cũng tương tự nhưng nhóm chỉ đếm nghiêng về các vỉ thuốc màu tối(đen, tím, xám) để việc đếm xảy ra chính xác hơn. Với những đối tượng khác cũng có thể đếm được nhưng vì cấp độ màu sắc khác nhau nên cần phải chuyển ngưỡng ở cấp độ khác nhau. Hình 5.12: 10 bức ảnh đếm thuốc nhóm thực hiện đề tài
  • 71. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 Kết quả: Hình 5.13: Đếm thuốc loại 1 thành công
  • 72. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 Hình 5.14: Đếm thuốc đen loại 2 thành công c. Kết quả điều khiển ứng dụng trêm Arduino. Sau quá trình đếm đối tượng từ chương trình chính là quá trình nhúng dữ liệu xuống Matlab xuống kít arduino :  Hiển thành thành công “DO AN TOT NGHIEP” trên hàng 1 của LCD  HIển thị thành công dòng “Ket qua dem”: trên dòng thứ 2 của LCD  Hiển thị thành công kết quả đếm được trên LCD, kết quả giữa LCD và trên giao diện người dùng khớp với nhau.  Ứng dụng hoạt động ổn định, chính xác đáp ứng đúng yêu cầu ban đầu mà nhóm đặt ra.
  • 73. CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 Hình 5.15: Kết quả hiện thị đếm đối tượng ra LCD d. Kết quả thống kê.  Kết quả đếm với đối tượng là tế bào: Thống kê kết quả đếm 5 ảnh chụp cho tế bào khác nhau như sau: Số thứ tự Số tế bào có trong ảnh Số tế bào đếm được Số tế bào đếm sai Tỷ lệ 1 76 75 1 98% 2 43 43 0 100% 3 44 42 2 95% 4 45 45 0 100% 5 73 67 6 91% Bảng 5.1.Kết quả đếm tế bào