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

Thiết kế và chế tạo máy phân loại cà chua

134 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế và chế tạo máy phân loại cà chua
Tác giả Phan Triệu Sơn Lâm, Doãn Trọng Thuận, Bùi Quốc Huy
Người hướng dẫn PGS.TS Nguyễn Thanh Phương
Trường học Trường Đại học Công nghệ TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật Cơ - Điện Tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 134
Dung lượng 2,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: TỔNG QUAN (12)
    • 1.1. Đặt vấn đề (12)
    • 1.2. Mục tiêu đề tài (13)
    • 1.3. Nội dung nghiên cứu (13)
    • 1.4. Phạm vi giới hạn (14)
    • 1.5. Bố cục (14)
  • Chương 2: CƠ SỞ LÝ THUYẾT (16)
    • 2.1. Đặc tính của quả cà chua (16)
      • 2.1.1. Quả cà chua [15] (16)
      • 2.1.2. Dinh dưỡng trong quả cà chua [15] (17)
      • 2.1.3. Giá trị dinh dưỡng và dược tính chứa trong quả cà chua [16] (17)
    • 2.2. Nhu cầu phân loại cà chua hiện nay ở Việt Nam [17] (18)
    • 2.3. Tổng quan về hệ thống máy phân loại cà chua [17] (19)
    • 2.4. Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh [1] (19)
      • 2.4.1. Xử lý ảnh là gì? (19)
      • 2.4.2. Các vấn đề cơ bản trong xứ lý ảnh (20)
        • 2.4.2.1. Một số khái niệm cơ bản (20)
        • 2.4.2.2. Khử nhiễu (21)
        • 2.4.2.3. Chỉnh mức xám (21)
        • 2.4.2.4. Phân tích ảnh (22)
        • 2.4.2.5. Nhận dạng (22)
        • 2.4.2.6. Nén ảnh (24)
    • 2.5. Giới thiệu ngôn ngữ lập trình Python và thư viện OpenCV (25)
      • 2.5.1. Ngôn ngữ lập trình python [2] (25)
      • 2.5.2. Thư viện OpenCV [3] (25)
        • 2.5.2.1. OpenCV là gì? (25)
        • 2.5.2.2. Các ứng dụng của OpenCV (26)
        • 2.5.2.3. Chức năng OpenCV (26)
    • 2.6. Phương pháp phát hiện biên và nhận dạng màu sắc (27)
      • 2.6.1. Phương pháp phát hiện biên của vật thể [10] (27)
        • 2.6.1.1. Giới thiệu (27)
        • 2.6.1.2. Phương pháp phát biện biên Canny [4] (28)
      • 2.6.2. Phương pháp nhận dạng màu sắc (30)
        • 2.6.2.1. Giới thiệu về các không gian màu [5] (30)
        • 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 (34)
      • 2.7.1. Raspberry Pi 3 Model B+ [6] (36)
        • 2.7.1.1. Giới thiệu (36)
        • 2.7.1.2. Cấu hình phần cứng (37)
        • 2.7.1.3. Sơ đồ chân (38)
      • 2.7.2. Camera Raspberry Pi V1 5MP [12] (40)
      • 2.7.3. Băng tải mini và động cơ DC giảm tốc (41)
        • 2.7.3.1. Băng tải mini (41)
        • 2.7.3.2. Động cơ DCM33123000 120K 12V 25rpm (42)
      • 2.7.4. Cảm biến vật cản hồng ngoại E18 - D80NK [13] (44)
      • 2.7.5. Động cơ RC Servo MG996R (46)
        • 2.7.5.1. Giới thiệu về động cơ RC Servo [7] (46)
        • 2.7.5.2. Động cơ RC Servo MG996R [14] (49)
  • Chương 3: TÍNH TOÁN VÀ THIẾT KẾ (52)
    • 3.1. Khối xử lý trung tâm (53)
      • 3.1.1. Chọn vi xử lý (53)
      • 3.1.2 Cài hệ điều hành cho Raspberry Pi (55)
    • 3.2. Khối camera (59)
    • 3.3. Khối cảm biến (62)
    • 3.4. Khối động cơ (62)
    • 3.5. Khối nguồn (64)
    • 3.6. Webserver và Firebase (66)
    • 3.7. Khối hiển thị (68)
  • Chương 4: THI CÔNG VÀ LẬP TRÌNH HỆ THỐNG (69)
    • 4.1. Thi công hệ thống (69)
    • 4.2. Lập trình hệ thống (77)
      • 4.2.1. Phương pháp phân loại cà chua (77)
      • 4.2.2. Lưu đồ giải thuật toàn hệ thống (80)
      • 4.2.3. Lập trình phân loại cà chua theo màu sắc và kích thước (82)
      • 4.2.4. Phân loại cà chua (86)
      • 4.2.5. Giao diện web để tùy chỉnh thông số cà chua (88)
      • 4.2.6. Giao diện người dùng (90)
      • 4.2.7. Lưu trữ realtime database trên Firebase (91)
    • 4.3. Viết tài liệu hướng dẫn sử dụng (92)
  • Chương 5: KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ (99)
    • 5.1. Kết quả đạt được (100)
    • 5.2. Nhận xét kết quả (103)
    • 5.3. Đánh giá hệ thống (104)
  • Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (105)
    • 6.1. Kết luận (105)
    • 6.2. Hướng phát triển (106)
  • TÀI LIỆU THAM KHẢO (107)
  • PHỤ LỤC (109)

Nội dung

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 2

MỤ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 3

2.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 4

2.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 5

3.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 6

6.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 7

DANH 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 8

Hì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 9

Hì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 10

DANH 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 11

LỜ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 12

Ngà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 13

1200 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 15

sử 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 16

Chươ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 17

2.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 18

như 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 19

Và 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 21

Là 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 23

vớ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 24

dạ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 25

2.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 26

cả 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 27

2.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 28

2.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 30

loạ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 31

RGB 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 32

Hỗ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 34

Hì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 35

Bá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 36

Giá 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 37

2.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 40

2.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

Ngày đăng: 28/02/2023, 16:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] PGS. TS. Đỗ Năng Toàn và TS. Phạm Việt Bình (2007). Giáo trình xử lý ảnh. BM Hệ thống thông tin, trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên [2] Giới thiệu về Python. Internet: https://openplanning.net/11385/gioi-thieu-ve-python, ngày 4 tháng 3 năm 2021 Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh
Tác giả: Đỗ Năng Toàn, TS. Phạm Việt Bình
Nhà XB: BM Hệ thống thông tin, trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên
Năm: 2007
[3] Hồ Sỹ Hùng. OpenCV và các ứng dụng của nó hiện nay. Internet: https://techmaster.vn/posts/33943/opencv-va-cac-ung-dung-cua-no-hien-nay, ngày 4 tháng 7 năm 2016 Sách, tạp chí
Tiêu đề: OpenCV và các ứng dụng của nó hiện nay
Tác giả: Hồ Sỹ Hùng
Nhà XB: Internet
Năm: 2016
[5] Việt Anh. Ảnh số và các không gian màu trong xử lý ảnh. Internet: https://learncv.com/anh-so-va-cac-khong-gian-mau-trong-xu-ly-anh/, ngày 18 tháng 8 năm 2018 Sách, tạp chí
Tiêu đề: Ảnh số và các không gian màu trong xử lý ảnh
Tác giả: Việt Anh
Năm: 2018
[8] RASPBERRYPI VIỆT NAM,” Hướng dẫn cài hệ điều hành cho Raspberry Pi”, Internet: https://raspberrypi.vn/huong-dan-cai-dieu-hanh-cho-raspberry-pi-2457.pi,ngày 13 tháng 3 năm 2016 Sách, tạp chí
Tiêu đề: Hướng dẫn cài hệ điều hành cho Raspberry Pi
Tác giả: RASPBERRYPI VIỆT NAM
Năm: 2016
[9] Nguyễn Trí Thành (2015), Phát hiện khuôn mặt với thuật toán Adaboost, Đại học Bách Khoa Hà Nội Sách, tạp chí
Tiêu đề: Phát hiện khuôn mặt với thuật toán Adaboost
Tác giả: Nguyễn Trí Thành
Nhà XB: Đại học Bách Khoa Hà Nội
Năm: 2015
[10] Tự học xử lý ảnh, Các phương pháp phát hiện biên. Internet: https://www.tinhoccoban.net/2019/05/tu-hoc-xu-ly-anh-cac-phuong-phap-phat.html, ngày 14 tháng 10 năm 2019 Sách, tạp chí
Tiêu đề: Tự học xử lý ảnh, Các phương pháp phát hiện biên
Năm: 2019
[13] Cảm Biến Vật Cản Hồng Ngoại E18-D80NK. Internet: https://nshopvn.com/product/cam-bien-vat-can-hong-ngoai-e18-d80nk/, ngày 17 tháng 7 năm 2019 Sách, tạp chí
Tiêu đề: Cảm Biến Vật Cản Hồng Ngoại E18-D80NK
Năm: 2019
[15] Nguyễn Mạnh Chinh. Đặc điểm, nguồn gốc, dinh dưỡng trong cây cà chua. Internet: https://marvelvietnam.com/top/bai-viet/dac-diem-nguon-goc-dinh-duong-trong-cay-ca-chua/6223690263, ngày 8 tháng 9 năm 2021 Sách, tạp chí
Tiêu đề: Đặc điểm, nguồn gốc, dinh dưỡng trong cây cà chua
Tác giả: Nguyễn Mạnh Chinh
Năm: 2021
[16] Tổng quan về cà chua, loại quả quen thuộc của mọi nhà. Internet: https://food.nhatamsem.com/tong-quan-ve-ca-chua/, ngày 15 tháng 6 năm 2020 Sách, tạp chí
Tiêu đề: Tổng quan về cà chua, loại quả quen thuộc của mọi nhà
Năm: 2020
[17] Trần Khánh Hưng, Hoàng Như Ý, Hệ thống phân loại cà chua theo màu sắc sử dụng PLC S7-1200, đồ án tốt nghiệp, Trường ĐHSPKT, Tp.HCM, năm 2018 Sách, tạp chí
Tiêu đề: Hệ thống phân loại cà chua theo màu sắc sử dụng PLC S7-1200
Tác giả: Trần Khánh Hưng, Hoàng Như Ý
Nhà XB: Trường ĐHSPKT, Tp.HCM
Năm: 2018
[18] Trần Hoàng Minh, Lê Duy Ân, Hệ thống phân loại cà chua theo màu sắc và khối lượng, đồ án tốt nghiệp, Trường ĐHSPKT TP.HCM, năm 2020 Sách, tạp chí
Tiêu đề: Hệ thống phân loại cà chua theo màu sắc và khối lượng
Tác giả: Trần Hoàng Minh, Lê Duy Ân
Nhà XB: Trường ĐHSPKT TP.HCM
Năm: 2020
[4] Minh Nguyen. Xử lý ảnh - Phát hiện cạnh Canny (Canny Edge Detection). Internet: https://minhng.info/tutorials/xu-ly-anh-opencv-hien-thuc-canny-edge.html, ngày 13 tháng 4 năm 2019 Link
[6] MLAB. Raspberry Pi là gì ? Giới thiệu các ứng dụng của Raspberry Pi 3. Internet: https://mlab.vn/index.php?_route_=11025-raspberry-pi-la-gi-gioi-thieu-cac-ung-dung-cua-raspberry-pi-3.html, ngày 4 tháng 9 năm 2018 Link
[7] arduinokit. Động cơ RC Servo là gì?. Internet: https://arduinokit.vn/dong-co-servo-la-gi, ngày 28 tháng 12 năm 2020 Link
[11] Lập trình cơ bản với OpenPLC trên Raspberry Pi. Internet: https://pivietnam.com.vn/lap-trinh-co-ban-voi-openplc-tren-raspberry-pi-pivietnam-com-vn.html, ngày 28 tháng 4 năm 2020 Link
[14] Động cơ RC Servo MG996R. Internet: https://www.dientudat.com/dong-co-rc-servo-mg996r Link

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

TÀI LIỆU LIÊN QUAN

w