1. Chức năng chính của chương trình
-
Tải ảnh (Load ảnh): Cho phép người dùng tải một ảnh từ máy tính để phân tích chuối.
-
Nhận diện: Phân tích ảnh đã tải lên hoặc ảnh từ camera để phát hiện chuối và đánh giá độ chín.
-
Mở camera: Sử dụng camera để nhận diện chuối trực tiếp từ video.
-
Hiển thị kết quả: Kết quả phân tích sẽ được hiển thị trong bảng (table) với các thông tin:
-
ID: Số thứ tự của mục phát hiện.
-
Loại: Nguồn phát hiện (Tải ảnh / Mở camera).
-
Chất lượng: Độ chín của chuối.
-
Hình thức: Thống kê tỷ lệ các màu sắc (xanh, vàng, nâu, đen) trên chuối.
2. Phương pháp sử dụng
a. Phát hiện chuối bằng YOLO
-
Chương trình sử dụng mô hình YOLOv3 để phát hiện chuối trong ảnh hoặc video:
-
YOLO (You Only Look Once) là thuật toán phát hiện đối tượng thời gian thực.
-
Mô hình cần file cấu hình
yolov3.cfg
, trọng số yolov3.weights
, và danh sách nhãn (coco.names
).
-
Chỉ phát hiện các vật thể có nhãn là "banana".
b. Đánh giá độ chín của chuối
-
Ảnh chuối được phát hiện sẽ được cắt (crop) và chuyển đổi sang không gian màu HSV.
-
Phân tích màu sắc:
-
Màu xanh: Đặc trưng cho chuối còn xanh.
-
Màu vàng: Đặc trưng cho chuối chín.
-
Màu nâu: Biểu hiện chuối chín quá mức.
-
Màu đen: Thể hiện chuối hỏng (xuất hiện vết đen).
-
Tỷ lệ màu được tính dựa trên tổng số pixel của từng màu chia cho tổng số pixel của chuối.
c. Xác định độ chín
-
Nếu tỷ lệ màu xanh > 60%: Chuối xanh.
-
Nếu tỷ lệ màu vàng > 30% và màu xanh < 10%: Chuối chín.
-
Nếu tỷ lệ màu vàng < 1% và màu xanh < 30%: Chuối gần chín.
-
Nếu tỷ lệ màu nâu > 10% hoặc màu đen > 5%: Chuối chín quá.
3. Cách hoạt động
-
Tải ảnh: Người dùng nhấn nút "Load Ảnh" để chọn một tệp ảnh từ máy tính.
-
Ảnh được hiển thị trong nhãn
label_2
.
-
Nhận diện chuối: Nhấn nút "Nhận Diện":
-
Chương trình gọi hàm
detect_and_evaluate
, phát hiện chuối trong ảnh và đánh giá độ chín.
-
Kết quả hiển thị trong bảng và thông báo tại nhãn
label_3
.
-
Mở camera: Nhấn "Mở camera" để nhận diện chuối trực tiếp qua webcam.
-
Video trực tiếp được hiển thị và nhấn phím
q
để dừng.
4. Cải tiến gợi ý
-
Bổ sung tính năng:
-
Hiển thị trực tiếp ảnh chuối với khung bao (bounding box).
-
Lưu kết quả phân tích vào file CSV hoặc cơ sở dữ liệu.
-
Cải thiện giao diện:
-
Thêm thanh tiến trình hoặc thông báo xử lý ảnh.
-
Cho phép người dùng cài đặt ngưỡng nhận diện (confidence threshold) và tỷ lệ màu sắc.
-
Hiệu năng:
-
Tối ưu hóa tốc độ phát hiện bằng cách sử dụng GPU với OpenCV (cài CUDA).
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Cài đặt visual studio code
cài đặt Python
cài đặt sqlite brower để xem csdl
Cài đặt các thư viện hỗ trợ chạy code python chương trình :
-
import sys
-
import cv2
-
import numpy as np
-
import sqlite3
-
from PyQt5.QtWidgets import (
-
QApplication, QWidget, QLabel, QPushButton, QGridLayout,
-
QLineEdit, QMessageBox, QFileDialog
-
)
-
from PyQt5.QtGui import QPixmap
-
from PIL import Image