XỬ LÍ ẢNH ĐO KÍCH THƯỚC CÁ BẰNG NODE RED MỤC LỤC CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
XỬ LÍ ẢNH ĐO KÍCH THƯỚC CÁ BẰNG NODE-RED MỤC LỤC CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu Node-Red 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu .8 1.4 Phạm vi nghiên cứu 1.5 Dự kiến kết CHƯƠNG CƠ SỞ LÝ THUYẾT 10 2.1 Giới thiệu hệ thống xử lí ảnh cho cá 10 2.2 Nút Node-red sử dụng cho đồ án hệ thống nhúng .10 2.3 Nguyên lí hoạt động hệ thống xử lí ảnh Node-Red 12 CHƯƠNG THIẾT KẾ VÀ THI CÔNG .14 3.1 Sơ đồ khối hệ thống 14 3.1.1 Khối truyền ảnh .14 3.1.2 Xử lí ảnh 15 3.1.3 Khối tính kích thước thực tế 16 3.1.4 Khối so sánh 16 3.1.5 Khối Google Sheet 17 3.2 Thiết kế hệ thống .17 3.2.1 Xây dựng mơ hình xử lí ảnh cho thước thẳng 17 3.2.2 Xây dựng mơ hình xử lí ảnh cho cá 19 3.2.3 Xây dựng mơ hình Google Sheet bảng tính cập nhật kết 21 CHƯƠNG GIẢI THUẬT VÀ ĐIỀU KHIỂN 23 4.1 Nguyên lí làm việc hệ thống 23 CHƯƠNG THỰC NGHIỆM 24 5.1 Các bước tiến hành thực nghiệm 24 5.2 Kết thực nghiệm 24 CHƯƠNG KẾT LUẬN 32 6.1 Ưu điểm 32 6.2 Nhược điểm .32 6.3 Hướng phát triển 32 TÀI LIỆU THAM KHẢO 33 DANH MỤC HÌNH Ả Hình Nút Inject .10 Hình 2 Nút Image 10 Hình Nút Viewer 10 Hình Nút Function 11 Hình Nút Debug 11 Hình Nút Template 11 Hình Nút Change 11 Hình Nút Switch 12 Hình Nút GSheet 12 Hình 10 Xử lí ảnh thước thẳng 12 Hình 11 Xử lí ảnh cá 13 Y Hình Sơ đồ khối hệ thống 14 Hình Khối truyền ảnh 14 Hình 3 Khối xử lí ảnh 15 Hình Khối tính kích thước thực tế 16 Hình Khối so sánh 16 Hình Khối Google Sheet .17 Hình Xây dựng mơ hình xử lí ảnh cho thước thẳng .18 Hình Xây dựng mơ hình xử lí ảnh cho cá .19 Hình Xây dựng mơ hình Google Sheet Node-Red 22 Hình 10 Xây dựng Google Sheet Web Y Hình Nhập sở liệu thước đo 25 Hình Thực xử lí ảnh 26 Hình Nạp lệnh vào nút Function để quét vị trí cần đưa vào mảng tính tốn 26 Hình Kết thu sau quét vị trí đưa vào mảng 27 Hình 5 Kết thu mong muốn 27 Hình Nhập sở liệu cho cá 28 Hình Thực xử lí ảnh cho cá 28 Hình Nạp lệnh vào nút Function để quét vị trí cần đưa vào mảng tính tốn 29 Hình Kết thu sau thực xử lí ảnh 29 Hình 10 Tạo mảng để tính tốn số đo thực tế cá .30 Hình 11 Kết thực tế cá 30 Hình 12 Tách lấy số kí tự để thực so sánh 30 Hình 13 Thực so sánh di chuyển liệu .31 Hình 14 Cài đặt chuẩn mong muốn cho cá 31 Hình 15 Chọn vùng để cập nhật liệu lên hệ thống 31 Hình 16 Các liệu cập nhật tự động lên hệ thống .32 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu Node-Red -Node RED cơng cụ lập trình dùng để kết nối thiết bị phần cứng, API dịch vụ trực tuyến với Về bản, công cụ trực quan thiết kế cho IoT (Internet of Things), sử dụng cho ứng dụng khác nhằm liên kết nhanh luồng (flow) dịch vụ khác -Node-RED mã nguồn mở phát triển Emerging Technology Services IBM tích hợp gói ứng dụng khởi động IoT Bluemix IBM (Platformas-a-Service PaaS) Node-RED triển khai riêng ứng dụng Node.js Hiện tại, Node-RED dự án JS Foundation -Node-RED cho phép người dùng kết hợp dịch vụ Web phần cứng cách thay tác vụ mã hóa cấp thấp phổ biến (như dịch vụ đơn giản giao tiếp với cổng nối tiếp) điều thực với giao diện kéo thả trực quan Các thành phần khác Node-RED kết nối với để tạo luồng (flow) Hầu hết mã lệnh (code) cần thiết tạo tự động 1.2 Mục đích nghiên cứu - Áp dụng kiến thức học lớp tự học diễn đàn online để áp dụng vào đồ án Hệ thống nhúng 1.3 Đối tượng nghiên cứu - Node Red -JSON -Các khối hàm node red như: Common, Function, Network, Input, Output, Dashboard, - Thước đo có vạch chia milimet - Cá - Từ củng cố kiến thức để ứng dụng cho thực tiễn 1.4 Phạm vi nghiên cứu - Phạm vi nghiên cứu từ ảnh cá chụp bắt đầu qua khâu xử lí ảnh tính tốn kích thước 1.5 Dự kiến kết - Kết xử lí ảnh đo kích thước với độ xác cao tự động cập nhật liệu lên Google Sheet để lưu trữ liệu CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu hệ thống xử lí ảnh cho cá - Hiện mơ hình chăn ni nơng nghiệp thường chọn cách lấy kích thước cho cá mắt thường tỉ lệ cá chọn đạt u cầu khơng cao mắt thường đo trực tiếp thước tỉ lệ sai sót cao Từ khó khăn nên em chọn nghiên cứu xử lí ảnh để lấy kích thước cho cá cách khả thi độ xác cao 2.2 Nút Node-red sử dụng cho đồ án hệ thống nhúng *Nút Inject Hình Nút Inject - Chèn tin nhắn vào luồng theo cách thủ công theo khoảng thời gian đặn Tải trọng thông báo nhiều loại, bao gồm chuỗi, đối tượng JavaScript thời gian *Nút Image Hình 2 Nút Image - Một loạt công việc thực hình ảnh Mỗi phần tử đối tượng chứa thông tin hiệu suất kết trả *Nút Viewer Hình Nút Viewer - Hiển thị hình ảnh xử lí từ nút Image cài đặt kích cỡ hiển thị cho ảnh *Nút Function Hình Nút Function - Các thơng báo chuyển vào dạng đối tượng JavaScript gọi msg - Theo quy ước, có thuộc tính msg.payload chứa phần nội dung thơng báo - Hàm dự kiến trả đối tượng thông báo (hoặc nhiều đối tượng thơng báo), chọn khơng trả để dừng luồng *Nút Debug Hình Nút Debug - Hiển thị thuộc tính thơng báo chọn tab bên gỡ lỗi tùy chọn nhật ký thời gian chạy Theo mặc định, hiển thị msg.payload, định cấu hình để hiển thị thuộc tính nào, thơng báo đầy đủ kết biểu thức JSONata *Nút Template Hình Nút Template - Đặt thuộc tính dựa mẫu cung cấp *Nút Change Hình Nút Change - Đặt, thay đổi, xóa di chuyển thuộc tính thông báo, ngữ cảnh luồng ngữ cảnh chung - Nút định nhiều quy tắc áp dụng theo thứ tự chúng xác định *Nút Switch Hình Nút Switch - Định tuyến thơng báo dựa giá trị thuộc tính vị trí trình tự chúng *Nút GSheet Hình Nút GSheet - Đọc Ghi liệu Google Trang tính 2.3 Nguyên lí hoạt động hệ thống xử lí ảnh Node-Red * Xử lí ảnh thước thẳng: Hình 10 Xử lí ảnh thước thẳng - Xử lí ảnh cho thước sang nhị phân - Từ ảnh nhị phân ta cho vùng trắng vùng đen - Ta chọn vị trí qt cách dị map chọn vị trí thỏa mong muốn cần quét - Từ ta tạo mảng cho vùng - Từ mảng ta tính tốn để lấy khoảng pixel cho 1mm thước + Thực tính tốn để chọn vùng cần qt + Từ Pixel tính thước đo ta tiếp tục triển khai vào tính Pixel cho cá suy chiều cao cá đơn vị milimet 3.2.3 Xây dựng mơ hình Google Sheet bảng tính cập nhật kết a Xây dựng mơ hình Google Sheet Node-Red Hình Xây dựng mơ hình Google Sheet Node-Red - Ta sử dụng nút chọn trạng thái so sánh: + Từ kết tính ta set kích thước kết lấy tính từ khâu xử lí ảnh + Sau cài đặt chuẩn cho cá + Dựa vào giá trị cài đặt giá trị đạt ngưỡng di chuyển đến nút Gsheet update liệu lên Google Sheet b Xây dựng Google Sheet Web Hình 10 Xây dựng Google Sheet Web - Đây hệ thống cập nhật sau xử lí ảnh để ta tổng kết thu thập liệu để chọn lọc cá phù hợp CHƯƠNG GIẢI THUẬT VÀ ĐIỀU KHIỂN 4.1 Nguyên lí làm việc hệ thống - Upload hình ảnh thước đo chuẩn lên hệ thống để bắt đầu thực xử lí ảnh + Dùng nút xử lí ảnh để đưa từ ảnh gốc sang ảnh nhị phân sau bắt đầu quét cột để đưa giá trị vào mảng + Từ mảng ta thực tính toán nút Function để đưa kết + Và từ kết ta thu khoảng pixel milimet hiển thị cửa sổ Debug - Từ kết pixel milimet tính thước đo ta tiếp tục thực khâu xử ảnh cho cá tương tự với thước đo + Dùng nút xử lí ảnh để đưa từ ảnh gốc sang ảnh nhị phân sau bắt đầu quét cột để đưa giá trị vào mảng + Từ mảng ta tính tốn lấy pixel cho chiều cao cá + Sau ta lấy số pixel cá chia cho số pixel thước đo thu số milimet thực tế cá - Kết cá qua xử lí ảnh hiển thị cửa sổ Debug - Từ kết qua bước chọn lọc cá đạt đủ kích thước u cầu cập nhật vào ô “ Cá đạt yêu cầu” Google Sheet bao gồm tên cá, số milimet cá thời gian kiểm tra - Ngược lại cá không đạt chuẩn cập nhật vào “Cá khơng đạt yêu cầu” CHƯƠNG THỰC NGHIỆM 5.1 Các bước tiến hành thực nghiệm - Bước 1: Nhập sở liệu thước đo cho hệ thống - Bước 2: Hệ thống lấy cở sở liệu bắt đầu thực xử lí ảnh - Bước 3: Thu thập thông tin pixel ảnh thước đo xử lí đến bước tính tốn chiều cao thực tế cho cá -Bước 4: Tiếp tục nhập sở liệu ảnh cá cần đo kích thước lên hệ thống để xử lí ảnh - Bước 5: Hệ thống thực xử lí ảnh lấy số đo pixel chiều cao cá từ số pixel 1mm thước đo thực tính tốn chiều cao thực tế cá - Bước 6: Lấy kết vừa tính di chuyển đến khâu so sánh để update data lên Google Sheet - Bước 7: Cập nhật liệu thu lên Google Sheet 5.2 Kết thực nghiệm - Bước 1: Nhập sở liệu thước đo cho hệ thống Hình Nhập sở liệu thước đo - Bước 2: Hệ thống lấy cở sở liệu bắt đầu thực xử lí ảnh Hình Thực xử lí ảnh - Bước 3: Thu thập thông tin pixel ảnh thước đo xử lí đến bước tính tốn chiều cao thực tế cho cá Hình Nạp lệnh vào nút Function để quét vị trí cần đưa vào mảng tính tốn ... xử lí ảnh cho thước thẳng Hình Xây dựng mơ hình xử lí ảnh cho thước thẳng - Xử lí ảnh cho thước thẳng bao gồm: + Hình ảnh chuẩn thước đo có vạch chia milimet + Các nút xử lí ảnh để chuyển ảnh sang... nghiên cứu xử lí ảnh để lấy kích thước cho cá cách khả thi độ xác cao 2.2 Nút Node-red sử dụng cho đồ án hệ thống nhúng *Nút Inject Hình Nút Inject - Chèn tin nhắn vào luồng theo cách thủ công theo... thống xử lí ảnh Node-Red * Xử lí ảnh thước thẳng: Hình 10 Xử lí ảnh thước thẳng - Xử lí ảnh cho thước sang nhị phân - Từ ảnh nhị phân ta cho vùng trắng vùng đen - Ta chọn vị trí qt cách dị map