Sử dụng ngôn ngữ lập trình Python với thư viện chính OpenCV để có thể xử lý ảnh chụp quả cà chua và đưa ra kết luận về màu sắc và kích thước được thực hiện hoàn toàn trên kit Raspberry P
Trang 1Đ
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ VÀ CHẾ TẠO MÁY PHÂN LOẠI CÀ CHUA
NGÀNH: KỸ THUẬT CƠ - ĐIỆN TỬ
GIẢNG VIÊN HƯỚNG DẪN: PGS.TS Nguyễn Thanh Phương
Trang 2MỤC LỤC
Phiếu đăng ký tên đề tài ĐATN
Phiếu giao nhiệm vụ
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH SÁCH CÁC HÌNH xi
DANH SÁCH CÁC BẢNG xiv
LỜI MỞ ĐẦU 1
Chương 1: TỔNG QUAN 2
1.1 Đặt vấn đề 2
1.2 Mục tiêu đề tài 3
1.3 Nội dung nghiên cứu 3
1.4 Phạm vi giới hạn 4
1.5 Bố cục 4
Chương 2: CƠ SỞ LÝ THUYẾT 6
2.1 Đặc tính của quả cà chua 6
2.1.1 Quả cà chua [15] 6
2.1.2 Dinh dưỡng trong quả cà chua [15] 7
2.1.3 Giá trị dinh dưỡng và dược tính chứa trong quả cà chua [16] 7
Trang 32.2 Nhu cầu phân loại cà chua hiện nay ở Việt Nam [17] 8
2.3 Tổng quan về hệ thống máy phân loại cà chua [17] 9
2.4 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh [1] 9
2.4.1 Xử lý ảnh là gì? 9
2.4.2 Các vấn đề cơ bản trong xứ lý ảnh 10
2.4.2.1 Một số khái niệm cơ bản 10
2.4.2.2 Khử nhiễu 11
2.4.2.3 Chỉnh mức xám 11
2.4.2.4 Phân tích ảnh 12
2.4.2.5 Nhận dạng 12
2.4.2.6 Nén ảnh 14
2.5 Giới thiệu ngôn ngữ lập trình Python và thư viện OpenCV 15
2.5.1 Ngôn ngữ lập trình python [2] 15
2.5.2 Thư viện OpenCV [3] 15
2.5.2.1 OpenCV là gì? 15
2.5.2.2 Các ứng dụng của OpenCV 16
2.5.2.3 Chức năng OpenCV 16
2.6 Phương pháp phát hiện biên và nhận dạng màu sắc 17
2.6.1 Phương pháp phát hiện biên của vật thể [10] 17
2.6.1.1 Giới thiệu 17
2.6.1.2 Phương pháp phát biện biên Canny [4] 18
Trang 42.6.2 Phương pháp nhận dạng màu sắc 20
2.6.2.1 Giới thiệu về các không gian màu [5] 20
2.6.2.2 Không gian màu HSV và phương pháp phân loại vật theo màu sắc 24 2.7 Giới thiệu về phần cứng 26
2.7.1 Raspberry Pi 3 Model B+ [6] 26
2.7.1.1 Giới thiệu 26
2.7.1.2 Cấu hình phần cứng 27
2.7.1.3 Sơ đồ chân 28
2.7.2 Camera Raspberry Pi V1 5MP [12] 30
2.7.3 Băng tải mini và động cơ DC giảm tốc 31
2.7.3.1 Băng tải mini 31
2.7.3.2 Động cơ DCM33123000 120K 12V 25rpm 32
2.7.4 Cảm biến vật cản hồng ngoại E18 - D80NK [13] 34
2.7.5 Động cơ RC Servo MG996R 36
2.7.5.1 Giới thiệu về động cơ RC Servo [7] 36
2.7.5.2 Động cơ RC Servo MG996R [14] 39
Chương 3: TÍNH TOÁN VÀ THIẾT KẾ 42
3.1 Khối xử lý trung tâm 43
3.1.1 Chọn vi xử lý 43
3.1.2 Cài hệ điều hành cho Raspberry Pi: 45
3.2 Khối camera 49
Trang 53.3 Khối cảm biến 52
3.4 Khối động cơ 52
3.5 Khối nguồn 54
3.6 Webserver và Firebase 56
3.7 Khối hiển thị 58
Chương 4: THI CÔNG VÀ LẬP TRÌNH HỆ THỐNG 59
4.1 Thi công hệ thống 59
4.2 Lập trình hệ thống 67
4.2.1 Phương pháp phân loại cà chua 67
4.2.2 Lưu đồ giải thuật toàn hệ thống 70
4.2.3 Lập trình phân loại cà chua theo màu sắc và kích thước 72
4.2.4 Phân loại cà chua 76
4.2.5 Giao diện web để tùy chỉnh thông số cà chua 78
4.2.6 Giao diện người dùng 80
4.2.7 Lưu trữ realtime database trên Firebase 81
4.3 Viết tài liệu hướng dẫn sử dụng 82
Chương 5: KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ 89
5.1 Kết quả đạt được 90
5.2 Nhận xét kết quả 93
5.3 Đánh giá hệ thống 94
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 95
Trang 66.1 Kết luận 95
6.2 Hướng phát triển 96
TÀI LIỆU THAM KHẢO 97
PHỤ LỤC 99
Code chương trình chính xử lý ảnh: 99
Code HTML giao diện web: 116
Code CSS cho giao diện: 120
Trang 7DANH SÁCH CÁC HÌNH
Hình 2.1: Quá trình xử lý ảnh 9
Hình 2.2: Các bước cơ bản trong một hệ thống xử lý ảnh 10
Hình 2.3: Non - maximum Suppression 19
Hình 2.4: Lọc ngưỡng 20
Hình 2.5: Không gian màu RGB 20
Hình 2.6: Không gian màu CMYK 21
Hình 2.7: Không gian màu HSV 22
Hình 2.8: Không gian màu CIE LAB 23
Hình 2.9: Dải màu H - S 24
Hình 2.10: Máy tính nhúng Raspberry Pi 3B+ 27
Hình 2.11: Sơ đồ chân Raspberry Pi 3B+ 29
Hình 2.12: Module camera Pi 30
Hình 2.13: Băng tải mini 32
Hình 2.14: Nguyên lý hoạt động động cơ 33
Hình 2.15: Cảm biến vật cản hồng ngoại E18 - D80NK 35
Hình 2.16: Sơ đồ dây cảm biến E18 - D80NK 36
Hình 2.17: Bên trong RC Servo 37
Hình 2.18: Biểu đồ xung PWM cho RC Servo 38
Trang 8Hình 2.19: RC Servo MG996R 39
Hình 3.1: Sơ đồ khối toàn hệ thống 42
Hình 3.2: Sơ đồ kết nối Raspberry Pi 44
Hình 3.3: Hệ điều hành Raspbian 46
Hình 3.4: Hệ điều hành Unbuntu Mate 47
Hình 3.5: Module camera Pi kết nối với Raspberry Pi 50
Hình 3.6: Led buồng camera 51
Hình 3.7: Cơ cấu đẩy 1 52
Hình 3.8: Cơ cấu đẩy 2 53
Hình 3.9: Nguồn tổ ong 12V - 5A 54
Hình 3.10: Adapter 5V - 3A cho Kit 55
Hình 3.11: Adapter 5V - 3A 56
Hình 3.12: LCD HDMI 5.5" 58
Hình 4.1: Buồng chụp camera 60
Hình 4.2: Board mạch đặt trong buồng camera 61
Hình 4.3: Led trong buồng camera 62
Hình 4.4: Cảm biến lắp trên giá đỡ 62
Hình 4.5: Máng trượt cà chua 63
Hình 4.6: Nối dây vào kit và cấp nguồn cho Servo, cảm biến 65
Hình 4.7: Mô hình hoàn chỉnh nhìn theo chiều ngang 66
Hình 4.8: Mô hình hoàn chỉnh nhìn theo chiều dọc 66
Trang 9Hình 4.9: Quả cà chua xanh 68
Hình 4.10: Quả cà chua vàng 68
Hình 4.11: Quả cà chua đỏ 69
Hình 4.12: Lưu đồ giải thuật toàn hệ thống 70
Hình 4.13: Lưu đồ chụp ảnh 72
Hình 4.14: Lưu đồ giải thuật tính kích thước và phân loại màu sắc dùng xử lý ảnh 73
Hình 4.15: Lưu đồ phân loại cà chua 77
Hình 4.16: Giao diện Web 78
Hình 4.17: Giao diện giao tiếp với người dung 80
Hình 4.18: Realtime Database Firebase 81
Hình 4.19: Đèn báo hiệu Raspberry hoạt động 82
Hình 4.20: Đèn led buồng camera sáng, băng tải hoạt động 83
Hình 4.21: Giao diện nhập thông số phân loại 84
Hình 4.22: Thông số các loại cà chua được cập nhật và lưu trữ trên Firebase 85
Hình 4.23: Cà chua đang được băng tải di chuyển 86
Hình 4.24: Cần gạt Servo đưa ra trước khi cà chua đến 87
Hình 4.25: Cà chua đến vị trí cảm biến và được đẩy về 87
Hình 5.1: Giao diện người dùng khi mới chạy chương trình 91
Hình 5.2: Kết quả phân loại thử nghiệm cà chua 92
Trang 10DANH SÁCH CÁC BẢNG
Bảng 2.1: Thông sô màu H trong hệ HSV 25
Bảng 3.1: Dòng điện tiêu thụ của Kit và ngoại vi 55
Bảng 4.1: Vị trí chân Kit điều khiển RC Servo và cảm biến 64
Bảng 4.2: Bảng tham khảo nhập kích thước cà chua 79
Bảng 5.1: Bảng thông số chạy thử nghiệm 90
Trang 11LỜI MỞ ĐẦU
Ở Việt Nam hiện nay, việc phân loại cà chua nói riêng và các loại rau củ quả nói chung chủ yếu dựa vào kinh nghiệm, chưa có dây chuyền phân loại vừa và nhỏ nào kiểm soát và đánh giá chất lượng quả cà chua trước khi đi vào đóng gói và xuất khẩu ra thị trường Vì thế nhóm em lên ý tưởng nghiên cứu và phát triển mô hình phân loại sản phẩm bằng xử lý ảnh, nhằm phân loại cà chua tăng cường tự động hóa trong quá trình sản xuất nông nghiệp ở nước ta Với hy vọng giảm bớt nhân công ở giai đoạn phân loại
cà chua thúc đẩy nền kinh tế phát triển
Đề tài “Thiết kế và chế tạo máy phân loại cà chua” được xây dựng thành mô hình phân loại cà chua theo màu sắc và kích thước được cài đặt trước Sử dụng ngôn ngữ lập trình Python với thư viện chính OpenCV để có thể xử lý ảnh chụp quả cà chua và đưa
ra kết luận về màu sắc và kích thước được thực hiện hoàn toàn trên kit Raspberry Pi 3B+ Ngoài ra, hệ thống còn có thể được điều khiển và giám sát từ xa thông qua hệ thống realtime database của Firebase và một Websever
Kết quả đạt được là một mô hình có khả năng phân loại cà chua thành 4 loại khác nhau tùy vào thông số màu sắc và kích thước được cài đặt trước, và có thể giám sát số lượng của mỗi loại thông qua Firebase
Trang 12Ngành công nghiệp đóng gói sản phẩm là ngành cần sự chính xác cao trong kiểm tra đầu ra và để thay thế con người trong việc kiểm tra thành phẩm với tốc độ và sự chính xác cao thì công nghệ xử lý ảnh ra đời và ngày càng phát triển hơn
Thời gian vừa qua đã có nhiều nghiên cứu được thực hiện thông qua các đề tài Đồ
Án Tốt Nghiệp (ĐATN) thực hiện dựa trên nhu cầu thực thế như năm 2020, Trần Hoàng Minh, Lê Duy Ân, với đề tài “Hệ thống phân loại cà chua theo màu sắc và khối lượng” [18], là sự kết hợp hoàn hảo giữa Matlab và Arduino nhận tín hiệu từ camera và cảm biến, van khí nén điều khiển xy lanh được hiển thị kết quả lên LCD 16x2
Một đề tài ĐATN tiêu biểu khác phải kể đến là của Trần Khánh Hưng, Hoàng Như Ý vào năm 2018 tên là “Hệ thống phân loại cà chua theo màu sắc sử dụng PLC S7-1200” [17], khi nhắc đến những đề tài nghiên cứu ứng dụng vào công nghiệp thì lựa chọn thường được quan tâm đến những bộ PLC mạnh mẽ, và trong đề tài này PLC S7-
Trang 131200 kết hợp với Arduino nhận tín hiệu từ các loại cảm biến màu sắc, cảm biến hồng ngoại điều khiển các cơ cấu khí nén và băng chuyền Nhận diện được 3 trạng thái màu sắc của cà chua (đỏ, vàng, xanh) đạt hiệu quả kinh tế cao so với thực hiện bằng cảm quan của con người
Theo đó xử lý ảnh trong phân loại sản phẩm đã và đang được nghiên cứu phát triển Phân loại sản phẩm theo màu sắc có nhiều phương pháp khác nhau như dùng cảm biến màu, kính lọc màu, cùng với nhiều phương pháp phân loại sản phẩm khác như sử dụng PLC, Arduino, Matlab, … Từ đó nhóm chúng em đã tìm hiểu và đi đến quyết định chọn đề tài: “THIẾT KẾ VÀ CHẾ TẠO MÁY PHÂN LOẠI CÀ CHUA” bằng phương pháp kết hợp xử lý ảnh thông qua kit Raspberry Pi 3B+ và ngôn ngữ lập trình Python
1.2 Mục tiêu đề tài
Với mục tiêu tìm hiểu sâu hơn về ứng dụng của xử lý ảnh trong thực tế Từ đó thiết
kế và thi công hệ thống phân loại cà chua theo màu sắc và kích thước, trong đó sử dụng camera để thực hiện thu nhận hình ảnh của cà chua rồi gửi vào cơ sở dữ liệu để ngôn ngữ Python tiến hành xử lý ảnh chụp Với bộ xử lý trung tâm là kit Raspberry Pi 3B+
sẽ có chức năng đưa ra kết luận về màu sắc và kích thước của cà chua, và đưa cà chua đến nơi phân loại dựa vào việc nhận dữ liệu xử lý ảnh chụp từ Python
1.3 Nội dung nghiên cứu
- Để thiết kế được chúng ta cần thiết kế cơ khí và điều khiển được động cơ và hệ thống hoạt động tự động dựa vào lập trình và điều khiển của Raspberry Pi Ngoài ra còn có các vấn đề khác như là: vật liệu mô hình, nguồn cung cấp, tính toán thông số chi tiết
- Nghiên cứu hoạt động của kit Raspberry Pi 3B+, cài hệ điều hành cho kit
Trang 14- Nghiên cứu xử lý ảnh dựa trên thư viện OpenCV dùng ngôn ngữ lập trình Python
- Nghiên cứu xây dựng mô hình phân loại với băng tải và RC Servo
- Nghiên cứu xây dựng một giao diện web localhost để tùy chỉnh các thông số phân loại, và tìm hiểu realtime database của Firebase
Ảnh phân tích được chụp trong điều kiện ánh sáng đủ
Đề tài được giới hạn trong mô hình phân loại quy mô nhỏ và chỉ tập chung vào kết quả và cách hoạt động cơ bản của mô hình
Tốc độ phân loại và xử lý vẫn còn chậm
Hệ thống vẫn chưa phân loại được quả bị hư và bị lỗi
Chỉ phân loại chính xác với những quả tương đối tròn
1.5 Bố cục
Chương 1: Tổng quan
Đặt vấn đề, giới thiệu khái quát về mục tiêu, nội dung nghiên cứu, các giới hạn của đề tài
Chương 2: Cơ sở lý thuyết
Giới thiệu về các đặc tính của quả cà chua, nhu cầu phân loại cà chua hiện nay ở Việt Nam và tổng quan về hệ thống máy phân loại cà chua Tìm hiểu các khái niệm trong xử
lý ảnh, phương pháp phân loại theo màu sắc và kích thước, giới thiệu các phần tử được
Trang 15sử dụng trong mô hình, khái quát về Kit Raspberry và ngôn ngữ lập trình Python với thư viện OpenCV
Chương 3: Tính toán và thiết kế
Nội dung của chương này đề cập đến việc chọn Kit, camera cũng như tính toán, thiết
kế phần cứng Hệ thống sẽ được chia thành các khối để tính toán và thiết kế
Chương 4: Thi công và lập trình hệ thống
Giới thiệu các bước để hoàn thành phần cứng của hệ thống, hình ảnh của các chi tiết có trong mô hình Chương này cũng để cập đến giải thuật xử lý ảnh, cũng như giải thuật điều khiển cho toàn hệ thống
Chương 5: Kết quả, nhận xét, đánh giá
Chỉ rõ những kết quả đã đạt được so với yêu cầu đề ra, đánh giá tổng quan về hệ thống
Chương 6: Kết luận và hướng phát triển
Nêu kết luận, những ưu khuyết điểm của hệ thống Từ đó ra ra hướng phát triển cho đề tài
Trang 16Chương 2: CƠ SỞ LÝ THUYẾT
2.1 Đặc tính của quả cà chua
2.1.1 Quả cà chua [15]
Cà chua là loại quả thuộc loại mọng nước, có hình dạng tròn, méo, bầu dục cho tới dài, vỏ có thể nhẵn hay khía, màu sắc của quả thay đổi tùy từng giống và điều kiện vùng miền
Quả cà chua được chia làm 4 thời kỳ khác nhau:
Thời kỳ quả còn xanh: ở giai đoạn này quả và hạt phát triển chưa hoàn thiện, chưa có mùi vị và màu sắc đặc trưng của cà chua
Thời kỳ quả chín xanh: ở giai đoạn này thì quả đã phát triển đầy đủ, quả có màu xanh sáng, xung quanh bao lấy hạt, hạt được hình thành, quả lúc này chưa có màu hồng hay vàng
Thời kỳ quả chín vàng: ở giai đoạn này phần đỉnh quả thường xuất hiện màu hồng, xung quanh cuống quả vẫn còn màu xanh, nếu cần vận chuyển đi xa thì đây là giai đoạn tốt nhất để thu hoạch sớm
Thời kỳ quả chín đỏ: đây là giai đoạn ưa thích nhất của bà con nông dân, trên quả xuất hiện màu sắc vốn có của giống, màu sắc thể hiện là màu đỏ, có thể thu hoạch để
ăn tươi, hạt trong quả phát triển đầy đủ, có thể thu hoạch làm giống
Hạt cà chua: hạt cà chua khá nhỏ, dẹp, nhiều lông và màu vàng sáng hoặc hơi tối, hạt nằm trong buồng có chứa nhiều dịch bào kiềm hãm sự nảy mầm của hạt trong mỗi quả có chứa từ 50-350 hạt
Trang 172.1.2 Dinh dưỡng trong quả cà chua [15]
Theo như các nhà phân tích thì trong quả cà chua có rất nhiều các chất dinh dưỡng tốt cho sức khỏe cụ thể như sau: 94gr nước, 0,6g protit, 4,2g gluxit, 0,8g xenlulô, 0,4g tro, 12mg canxi, 26mg photpho, 1,4mg sắt, các loại vitamin caroten, vitamin B1, B2 PP, C… cung cấp được 20kcal
Nhìn vào các thành phần dinh dưỡng sẽ thấy đây quả thật là một loại quả tốt cho sức khỏe, màu đỏ cho thấy hàm lượng vitamin A trong quả rất cao, ngoài ra bên trong quả cà chua còn có các loại vitamin B, C, B6 khác nhau giúp tăng cường cho sức khỏe Bên cạnh đó là các chất khoáng vi lượng có trong cà chua như canxi, sắt, kali, kèm thêm nhiều các chất hoáng khác rất tốt cho cơ thể, chính nhờ vào các chất khoáng này mà cà chua được coi là một loại thức ăn giàu chất dinh dưỡng, dễ tiêu hóa và tăng cường sức đề kháng cho cơ thể
2.1.3 Giá trị dinh dưỡng và dược tính chứa trong quả cà chua [16]
Giá trị dinh dưỡng của cà chua đến từ các thành phần giàu vitamin, khoáng chất và các loại dưỡng chất quan trọng như vitamin A, vitamin C, … Ngoài ra cà chua là nguồn thực phẩm giàu kali, magie, photo, chất xơ và protein Đặc biệt trong thành phần
cà chua còn có một số hợp chất hữu cơ quan trọng như lycopene, sắt và axit chlorogenic, mang lại nhiều giá trị dinh dưỡng góp phần vào lợi ích sức khỏe mà cà chua có thể mang lại cho con người
Ngoài ra, cà chua còn chứa nhiều hợp chất hóa thực vật khác và chất xơ giúp cho cơ thể bài xuất cholesterol, giảm máu đông, đề phòng các tai biến của bệnh tim mạch, bệnh béo phì…
Cùng với đó bên trong quả cà chua có chất Lycopen được cho là có khả năng bảo vệ
cơ thể chống lại quá trình oxi hóa trong cơ thể, tiêu thụ nhiều cà chua làm giảm nguy
cơ ung thư vú, ung thư đầu và vùng cổ, chống lại các chất thoái hóa thần kinh, cũng
Trang 18như việc uống nước sốt cà chua xay nhuyễn giúp điều trị các bệnh về tiểu đường sử dụng cà chua còn mang đến lợi ích giúp giảm nguy cơ bệnh tim và tiểu đường loại hai
2.2 Nhu cầu phân loại cà chua hiện nay ở Việt Nam [17]
Sau thu hoạch, trước khi đưa nông sản ra thị trường, cần phải trải qua nhiều khâu phân loại để loại bỏ sản phẩm chưa đạt yêu cầu Riêng với hệ thống phân loại cà chua,
cà chua sẽ được đưa vào hệ thống qua băng tải và đưa đến các khu phân loại theo nhiều nguyên tắc như kích thước quả, khối lượng quả và màu sắc để chọn lọc những quả có chất lượng tốt nhất và phù hợp với nhu cầu sử dụng của người tiêu dùng
Cà chua là loại rau ăn quả quý có giá trị kinh tế, giá trị dinh dưỡng cao nên được nhiều người ưa thích, là một trong những loại rau ưu tiên có chiều hướng phát triển mạnh cả về lượng và chất
Để sản xuất cà chua với số lượng lớn, cung cấp sản phẩm trong thời gian dài, độ đồng đều cao, đặc biệt là phải đảm bảo chất lượng, an toàn cho con người là mục tiêu của các chuyên gia trong ngành sản xuất rau Và cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật cơ điện tử chúng ta cần phải nắm bắt và vận dụng điều khiển tự động một cách hiệu quả nhằm đóng góp vào sự phát triển khoa học kỹ thuật của thế giới nói chung và trong sự phát triển của kỹ thuật điều khiển cơ điện tử nói riêng
Đã có khá nhiều mô hình phân loại nông sản như phân loại theo chiều cao, phân loại theo khối lượng theo kích thước Nhưng với những nông sản có khối lượng và kích thước nhỏ và màu sắc thay đổi theo tính chất của nông sản thì các mô hình kia không phù hợp Vì vậy chúng ta cần một hướng xử lý phù hợp hơn cho hệ thống phân loại này đó là phân loại dựa trên màu sắc và kích thước
Trang 19Và nhiều hệ thống chỉ thực hiện phân loại cà chua mà chưa thực hiện giám sát, quản
lý việc phân loại Vì vậy chúng ta cần xây dựng việc giám sát quá trình phân loại cho
hệ thống
2.3 Tổng quan về hệ thống máy phân loại cà chua [17]
Sau khi thu hoạch, trước khi đưa nông sản ra thị trường, cần phải trải qua nhiều khâu phân loại để loại bỏ sản phẩm chưa đạt yêu cầu Riêng với hệ thống phân loại cà chua,
cà chua sẽ được đưa vào hệ thống qua băng tải và đưa đến các khu phân loại theo nhiều nguyên tắc như kích thước quả, khối lượng quả và màu sắc để chọn lọc những quả có chất lượng tốt nhất và phù hợp với nhu cầu sử dụng của người tiêu dùng
2.4 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh [1]
2.4.1 Xử lý ảnh là gì?
Xử lý ảnh là một lĩnh vực mang tính khoa học công nghệ Nó có tốc độ phát triển rất nhanh, liên quan tới nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác Đầu tiên là xử lý tín hiệu số, thứ hai là các công cụ toán như đại số tuyến tính, xác xuất thống kê, thứ ba
là các kiến thức về lập trình trong quá trình phân tích và xử lý ảnh
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận
Hình 2.1: Các bước cơ bản trong một hệ thống xử lý ảnh [1]
Trang 20Ảnh có thể xem là tập hợp các điểm ảnh với mỗi điểm ảnh đặc trưng cho cường độ sáng tại một vị trí nào đó của đối tượng trong không gian và có thể xem như một hàm n biến P (c1, c2, , cn) Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Trang 21Là cường độ sáng của điểm ảnh được gán bằng giá trị số tại điểm đó Các thang
đo mức xám thông thường là 16, 32, 64, 128, 256
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử Để khắc phục người ta thường dùng các phép chiếu thường được xây dựng trên tập các điểm điều khiển
2.4.2.2 Khử nhiễu
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh, bao gồm:
- Nhiễu hệ thống là nhiễu có quy luật có thể khử bằng các phép biến đổi
- Nhiễu ngẫu nhiên vết bẩn không rõ nguyên nhân thường được khắc phục bằng các phép lọc
2.4.2.3 Chỉnh mức xám
Nhằm khắc phục tính không đồng đều của hệ thống gây ra, ta có 2 cách tiếp cận:
- Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau thành một bó Trường hợp chỉ có 2 mức xám thì chính là chuyển về ảnh đen trắng
Ứng dụng: In ảnh màu ra máy in đen trắng
Trang 22- Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội suy nhằm tăng cường độ mịn của ảnh
2.4.2.4 Phân tích ảnh
Việc trích chọn đặc điểm là một bước quan trọng trong phân tích ảnh, với các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ra một số đặc điểm của ảnh sau đây:
- Đặc điểm không gian:
Phân bố mức xám, xác suất, biên độ, điểm uốn,
- Đặc điểm biến đổi:
Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi là feature mask thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v )
- Đặc điểm biên và đường biên:
Đặc trưng cho đường biên của đối tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing),
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống
2.4.2.5 Nhận dạng
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì?
Trang 23với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analysis), trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong
đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:
1 Thu nhận dữ liệu và tiền xử lý
2 Biểu diễn dữ liệu
3 Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
1 Đối sánh mẫu dựa trên các đặc trưng được trích chọn
2 Phân loại thống kê
3 Đối sánh cấu trúc
4 Phân loại dựa trên mạng nơ - ron nhân tạo
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận
Trang 24dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu
2.4.2.6 Nén ảnh
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
- Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF
- Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh
để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX
- Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn và do vậy, kỹ thuật hướng nén hiệu quả hơn *.JPG chính là tiếp cận theo kỹ thuật nén này
- Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
Trang 252.5 Giới thiệu ngôn ngữ lập trình Python và thư viện OpenCV
2.5.1 Ngôn ngữ lập trình python [2]
Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object - oriented), và là một ngôn ngữ bậc cao (high - level) ngữ nghĩa động (dynamic semantics) Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và
có thể được phân phối tự do
Sau đây là các đặc điểm của Python:
- Ngữ pháp đơn giản, dễ đọc
- Vừa hướng thủ tục (procedural - oriented), vừa hướng đối tượng
(object - oriented)
- Hỗ trợ module và hỗ trợ gói (package)
- Xử lý lỗi bằng ngoại lệ (Exception)
- Kiểu dữ liệu động ở mức cao
- Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình
- Có khả năng tương tác với các module khác viết C/C++ (Hoặc Java cho Jython hoặc Net cho IronPython)
- Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface)
2.5.2 Thư viện OpenCV [3]
2.5.2.1 OpenCV là gì?
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian
Trang 26cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác
mỏ, bản đồ trên web hoặc công nghệ robot
2.5.2.2 Các ứng dụng của OpenCV
OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm:
- Hình ảnh street view
- Kiểm tra và giám sát tự động
- Robot và xe hơi tự lái
- Phân tích hình ảnh y tế
- Tìm kiếm và phục hồi hình ảnh, video
- Phim - cấu trúc 3D từ chuyển động
- Nghệ thuật sắp đặt tương tác
2.5.2.3 Chức năng OpenCV
- Image/video I/O, xử lý, hiển thị (core, imgproc, highgui)
- Phát hiện các vật thể (objdetect, features2d, nonfree)
- Geometry - based monocular or stereo computer vision (calib3d, stitching, videostab)
- Computational photography (photo, video, superres)
- Machine learning & clustering (ml, flann)
- CUDA acceleration (gpu)
Trang 272.6 Phương pháp phát hiện biên và nhận dạng màu sắc
2.6.1 Phương pháp phát hiện biên của vật thể [10]
2.6.1.1 Giới thiệu
Biên là vấn đề quan trọng trong trích chọn đặc điểm nhằm tiến tới hiểu ảnh Cho đến nay vẫn chưa có định nghĩa chính xác về biên, trong mỗi ứng dụng người ta đưa ra các độ đo khác nhau về biên, một trong các độ đo đó là độ đo về sự thay đổi đột ngột
về cấp xám Ví dụ: Đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu nó là điểm đen có ít nhất một điểm trắng bên cạnh Tập hợp các điểm biên tạo nên biên hay đường bao của đối tượng Xuất phát từ cơ sở này người ta thường sử dụng hai phương pháp phát hiện biên cơ bản:
- Phát hiện biên trực tiếp: Phương pháp này làm nổi biên dựa vào sự biến thiên mức xám của ảnh Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là kỹ thuật lấy đạo hàm Nếu lấy đạo hàm bậc nhất của ảnh ta có các kỹ thuật Gradient, nếu lấy đạo hàm bậc hai của ảnh ta có kỹ thuật Laplace Ngoài ra còn có một số các tiếp cận khác
- Phát hiện biên gián tiếp: Nếu bằng cách nào đó ta phân được ảnh thành các vùng thì ranh giới giữa các vùng đó gọi là biên Kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫu nhau vì dò biên để thực hiện phân lớp đối tượng mà khi đã phân lớp xong nghĩa là đã phân vùng được ảnh và ngược lại, khi đã phân vùng được ảnh thì có nghĩa đã phân lớp được các đối tượng, do đó có thể phát hiện được biên
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh hưởng của nhiễu, song nếu sự biến thiên độ sáng không đột ngột, phương pháp tỏ ra kém hiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài đặt, song lại áp dụng khá tốt trong trường hợp này
Trang 282.6.1.2 Phương pháp phát biện biên Canny [4]
Trong hình ảnh, thường tồn tại các thành phần như: vùng trơn, góc cạnh và nhiễu Cạnh trong ảnh mang đặc trưng quan trọng, thường là thuộc đối tượng trong ảnh (object) Do đó, để phát hiện cạnh trong ảnh, giải thuật Canny là một trong những giải thuật phổ biến nổi tiếng nhất trong Xử lý ảnh
Giải thuật phát hiện cạnh Canny gồm 4 bước chính sau:
- Giảm nhiễu: Làm mờ ảnh, giảm nhiễu dùng bộ lọc Gaussian kích thước 5x5 Kích thước 5x5 thường hoạt động tốt cho giải thuật Canny Dĩ nhiên bạn cũng có thể thay đổi kích thước của bộ lọc làm mờ cho phù hợp
- Tính Gradient và hướng gradient: ta dùng bộ lọc Sobel X và Sobel Y (3x3) tính được ảnh đạo hàm Gx và Gy Sau đó, ta tiếp tục tính ảnh Gradient và góc của Gradient theo công thức Ảnh đạo hàm Gx và Gy là ma trận (ví dụ: 640x640), thì kết quả tính ảnh đạo hàm Edge Gradient cũng là một ma trận (640x640), mỗi pixel trên ma trận này thể hiện độ lớn của biến đổi mức sáng ở vị trí tương ứng trên ảnh gốc Tương tự, ma trận Angle cũng có cùng kích thước (640x640), mỗi pixel trên Angle thể hiện góc, hay nói cách khác là hướng của cạnh Ví dụ dễ hiểu, nếu góc gradient là 0 độ, thì cạnh của
ta trên ảnh sẽ là một đường thẳng đứng (tức tạo góc 90 độ so với trục hoành) (vuông góc hướng gradient) Khi tính toán, giá trị hướng gradient sẽ nằm trong đoạn [-180, 180] độ, ta không giữ nguyên các góc này mà gom các giá trị này về 4 bin đại diện cho
4 hướng: hướng ngang (0 độ), hướng chéo bên phải (45 độ), hướng dọc (90 độ) và hướng chéo trái (135 độ)
Trang 29- Non - maximum Suppression (viết tắt NMS): loại bỏ các pixel ở vị trí không phải cực đại toàn cục Ở bước này, ta dùng một filter 3x3 lần lượt chạy qua các pixel trên ảnh gradient Trong quá trình lọc, ta xem xét xem độ lớn gradient của pixel trung tâm có phải là cực đại (lớn nhất trong cục bộ - local maximum) so với các gradient ở các pixel xung quanh Nếu là cực đại, ta sẽ ghi nhận sẽ giữ pixel đó lại Còn nếu pixel tại đó không phải là cực đại lân cận, ta sẽ set độ lớn gradient của nó về zero Ta chỉ so sánh pixel trung tâm với 2 pixel lân cận theo hướng gradient Ví dụ: nếu hướng gradient đang là 0 độ, ta sẽ so pixel trung tâm với pixel liền trái và liền phải nó Trường hợp khác nếu hướng gradient là 45 độ, ta sẽ so sánh với 2 pixel hàng xóm là góc trên bên phải và góc dưới bên trái của pixel trung tâm Tương tự cho 2 trường hợp hướng gradient còn lại Kết thúc bước này ta được một mặt nạ nhị phân Tham khảo Hình 2.3
- Lọc ngưỡng: ta sẽ xét các pixel dương trên mặt nạ nhị phân kết quả của bước trước Nếu giá trị gradient vượt ngưỡng max_val thì pixel đó chắc chắn là cạnh Các pixel có độ lớn gradient nhỏ hơn ngưỡng min_val sẽ bị loại bỏ Còn các pixel nằm trong khoảng 2 ngưỡng trên sẽ được xem xét rằng nó có nằm liền kề với những pixel được cho là "chắc chắn là cạnh" hay không Nếu liền kề thì ta giữ, còn không liền kề bất cứ pixel cạnh nào thì ta loại Sau bước này ta có thể áp dụng thêm bước hậu xử lý
Hình 2.3:
Non-maximum Suppression [4]
Trang 30loại bỏ nhiễu (tức những pixel cạnh rời rạc hay cạnh ngắn) nếu muốn Ảnh minh họa
về ngưỡng lọc Hình 2.4:
2.6.2 Phương pháp nhận dạng màu sắc
2.6.2.1 Giới thiệu về các không gian màu [5]
- Không gian màu RGB:
Hình 2.4: Lọc ngưỡng [4]
Hình 2.5: Không gian màu RGB
Trang 31RGB là không gian màu phổ biến dùng trong máy tính, máy ảnh, điện thoại và nhiều thiết bị kĩ thuật số khác Không gian màu này khá gần với cách mắt người tổng hợp màu sắc Nguyên lý cơ bản là sử dụng 3 màu sắc cơ bản R (red - đỏ), G (green - xanh lục) và B (blue - xanh lam) để biểu diễn tất cả các màu sắc
Thông thường, trong mô hình 24 bit (không gian màu mặc định sử dụng bởi OpenCV, tuy nhiên OpenCV đảo 2 kênh R và B, trở thành BGR), mỗi kênh màu sẽ sử dụng 8bit để biểu diễn, tức là giá trị R, G, B nằm trong khoảng 0 - 255 Bộ 3 số này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu
Với mô hình biểu diễn 24bit, số lượng màu tối đa sẽ là: 255x255×255=16581375
- Không gian màu CMYK:
Không gian màu CMYK chỉ mô hình màu loại trừ, thường dùng trong in ấn Mô hình màu này dựa trên cơ sở trộn các chất màu của các màu sau:
• C=Cyan trong tiếng Anh có nghĩa là màu xanh lơ hay cánh chả
• M=Magenta trong tiếng Anh có nghĩa là màu cánh sen hay hồng sẫm
• Y=Yellow trong tiếng Anh có nghĩa là màu vàng
• K=Key (trong tiếng Anh nên hiểu theo nghĩa là cái gì đó then chốt hay chủ yếu
để ám chỉ màu đen mặc dù màu này có tên tiếng Anh là black do chữ B đã được sử dụng để chỉ màu xanh lam (blue) trong mô hình màu RGB)
Hình 2.6: Không gian màu CMYK
Trang 32Hỗn hợp của các màu CMY lý tưởng là loại trừ (các màu này khi in cùng một chỗ trên nền trắng sẽ tạo ra màu đen) Nguyên lý làm việc của CMYK là trên cơ sở hấp thụ ánh sáng Màu mà người ta nhìn thấy là từ phần của ánh sáng không bị hấp thụ Trong CMYK hồng sẫm cộng với vàng sẽ cho màu đỏ, cánh sen cộng với xanh lơ cho màu xanh lam, xanh lơ cộng với vàng sinh ra màu xanh lá cây và tổ hợp của các màu xanh
lơ, cánh sen và vàng tạo ra màu đen
- Không gian màu HSV:
Không gian màu HSV (còn gọi là HSB) là một cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu:
• H: (Hue) Vùng màu
• S: (Saturation) Độ bão hòa màu
• B (hay V): (Bright hay Value) Độ sáng
Hình 2.7: Không gian màu HSV
Trang 33- Không gian màu CIE LAB:
Không gian màu CIE LAB là không gian màu có sự đồng đều trong dải màu sắc, do vậy phù hợp để so sánh sự khác biệt giữa màu sắc này với màu sắc khác Các giá trị Lab mô tả tất cả những màu mà mắt một người bình thường có thể nhìn thấy được Lab được xem là một mô hình màu độc lập đối với thiết bị và thường được sử dụng như một cơ sở tham chiếu khi chuyển đổi một màu từ một không gian màu này sang một không gian màu khác
Theo mô hình Lab, tất cả các màu có cùng một độ sáng sẽ nằm trên cùng một mặt phẳng có dạng hình tròn theo 2 trục a* và b* Màu có giá trị a* dương thì ngả đỏ, màu
có giá trị a* âm thì ngả lục Tương tự b* dương thì ngả vàng và b* âm thì ngả lam Còn
độ sáng của màu thì thay đổi theo trục dọc
Hình 2.8: Không gian màu CIE LAB
Trang 34Hình 2 9: Dải màu H - S
2.6.2.2 Không gian màu HSV và phương pháp phân loại vật theo màu sắc
Không giống như RGB và CMYK, được xác định liên quan đến màu cơ bản, HSV được định nghĩa theo cách tương tự như cách con người cảm nhận màu sắc Nó dựa trên ba giá trị: màu sắc, độ bão hòa và giá trị Không gian màu này mô tả màu sắc (màu sắc hoặc màu) về độ bóng (độ bão hòa hoặc lượng màu xám) và giá trị độ sáng của chúng Một số bộ chọn màu (giống như trong Adobe Photoshop) sử dụng từ viết tắt HSB, thay thế độ sáng cho giá trị, nhưng HSV và HSB tham chiếu đến cùng một mô hình màu
- Cách sử dụng mô hình màu HSV:
Trang 35Bánh xe màu HSV đôi khi được mô tả dưới dạng hình nón hoặc hình trụ, nhưng luôn có ba thành phần sau:
1 Hue là phần màu của mô hình màu, được biểu diễn dưới dạng một số từ 0 đến
Trang 36Giá trị hoạt động kết hợp với độ bão hòa và mô tả độ sáng hoặc cường độ của màu sắc, từ 0 - 100%, trong đó 0 là hoàn toàn đen, và 100 là sáng nhất và cho thấy màu sắc nhất
Dựa vào 3 giá trị trên, chúng ta có thể phân tích được các mảng màu của sản phẩm bằng cách tìm các khoảng [H,S,V] thích hợp
để sinh viên nghiên cứu học tập Tuy nhiên, sau khi xuất hiện, Raspberry Pi được cộng đồng đánh giá cao về tính ứng dụng với phần cứng được hỗ trợ tốt, Pi đã nhanh chóng phát triển một cách rộng rãi Pi phù hợp cho những ứng dụng cần khả năng xử lý mạnh
mẽ, đa nhiệm hoặc giải trí và đặc biệt cần chi phí thấp Hiện nay đã có hàng ngàn ứng dụng đa dạng được cài đặt trên Raspberry Pi
Tổ chức Raspberry Pi Foundation được thành lập năm 2009, và cùng với sự giúp
đỡ của 3 hãng cung cấp linh kiện điện tử lớn là EGOMAN, QSIDA, SONY phát triển lên Raspberry Pi Trên thế giới, bạn có thể tìm mua tại những nhà phân phối của hãng như EGOMAN, ELEMENT14 hoặc RS Component Còn ở Việt Nam, thị trường chưa
có nhà phân phối chính hãng, nhưng bạn có thể tìm thấy 1 bản được sản xuất tại UK ở ngay đây: Raspberry Pi
Trang 372.7.1.2 Cấu hình phần cứng
Phiên bản Raspberry Pi đầu tiên được phát hành tháng 2 năm 2012, và tới nay đã
có nhiều phiên bản khác nhau, với sự nâng cấp của phần cứng, cũng như hướng tới những mục tiêu khác nhau Phiên bản theo thứ tự ra mắt là: Pi A → Pi A+ → Pi 1 B →
Trang 38• Hỗ trợ: 40 - pin GPIO, 4 cổng USB2.0
• Video và âm thanh: 1 cổng full - sized HDMI, Cổng MIPI DSI Display, cổng MIPI CSI Camera, cổng stereo output và composite video 4 chân
• Multimedia: H.264, MPEG - 4 decode (1080p30), H.264 encode (1080p30); OpenGL ES 1.1, 2.0 graphics
• Lưu trữ: MicroSD
• Điện áp hoạt động: 5V/2.5A DC cổng microUSB, 5V DC trên chân GPIO, Power over Ethernet (PoE) (yêu cầu thêm PoE HAT)
Lưu ý khi dùng Board:
- Nguồn sử dụng cho Board là nguồn 5VDC, dòng điện từ 2.5A trở lên, chất lượng tốt và ổn định, trường hợp nguồn không đủ dòng sẽ dẫn tới hiện tượng sụt áp, cháy máy
- Các chân GPIO của Raspberry Pi (40 chân cắm Header) nếu giao tiếp điện áp trên (lớn hơn) 3.3V, chân cấp nguồn 3.3V và 5V nếu chạm với GND (Mass) sẽ làm chập nguồn cháy máy ngay lập tức, nếu không có nhu cầu thì không nên sử dụng và nên mua thêm vỏ bảo vệ để tránh chập chạm
- Nếu bạn cần sử dụng các chân GPIO của Raspberry Pi để giao tiếp với các mạch có mức điện áp giao tiếp lớn hơn 3.3V hoặc sử dụng với mạch điều khiển động cơ thì cần dùng thêm mạch chuyển tín hiệu
2.7.1.3 Sơ đồ chân
Trong 40 chân GPIO bao gồm:
- 26 chân GPIO Khi thiết lập là input, GPIO có thể được sử dụng như chân interupt, GPIO 14 & 15 được thiết lập sẵn là chân input
Trang 39- 1UART, 1 I2C, 2 SPI, 1 PWM (GPIO 4)
- 2 chân nguồn 5V, 2 chân nguồn 3.3V, 8 chân GND
Trang 402.7.2 Camera Raspberry Pi V1 5MP [12]
Camera Raspberry Pi V1 5MP là Version đầu tiên của module camera cho Raspberry Pi với cảm biến OV5647 độ phân giải 5MP, sử dụng tương thích với tất cả các dòng Raspberry Pi từ trước đến nay, chất lượng hình ảnh tốt, độ phân giải cao và
có khả năng quay phim ở chất lượng HD
Module này sử dụng giao thức giao tiếp CSI chuyên dụng, dây bus CSI có tốc độ truyền dữ liệu cực cao Khi sử dụng sẽ không tốc cổng USB trên Raspberry như việc
sử dụng các webcam truyền thống giúp hạn chế tình trạng nghẽn băng thông cho chip