DIP_Project là một ứng dụng xử lý ảnh được xây dựng bằng Python, sử dụng Streamlit để hiển thị giao diện người dùng. Dự án được tổ chức theo mô hình MVC (Model-View-Controller) để dễ dàng quản lý và mở rộng.
DIP_PROJECT/
│
├── app.py # Điểm bắt đầu chạy app Streamlit
│
├── models/ # Thư mục lưu trữ các mô hình AI/ML (Machine Learning Models)
│ ├── face_detection_yunet_2023mar.onnx
│ ├── face_recognition_sface_2021dec.onnx
│ ├── svc.pkl
│ ├── waste_classification.onnx
│ ├── waste_classification.pt
│ ├── yolov8n_fruit_v2.onnx
│ ├── yolov8n_fruit_v2.pt
│ ├── yolov8n_fruit.onnx
│ └── yolov8n_fruit.pt
│
├── views/ # Thư mục cho tầng View (hiển thị giao diện Streamlit)
│ ├── adjust_volume_by_hand.py # Giao diện điều chỉnh âm lượng bằng cử chỉ
│ ├── face_recognition.py # Giao diện nhận dạng khuôn mặt
│ ├── finger_count.py # Giao diện đếm ngón tay
│ ├── fruit_recognition.py # Giao diện nhận dạng trái cây
│ ├── home.py # Giao diện trang chủ
│ ├── image_processing_ch3.py # Giao diện xử lý ảnh chương 3
│ ├── image_processing_ch4.py # Giao diện xử lý ảnh chương 4
│ ├── image_processing_ch5.py # Giao diện xử lý ảnh chương 5
│ ├── image_processing_ch9.py # Giao diện xử lý ảnh chương 9
│ └── waste_classification.py # Giao diện phân loại rác
│
├── controllers/ # Thư mục cho tầng Controller (điều phối logic giữa Model và View)
│ ├── fruit_recognition.py
│ ├── handDetectionModule.py
│ ├── image_processing_ch3.py
│ ├── image_processing_ch4.py
│ ├── image_processing_ch5.py
│ ├── image_processing_ch9.py
│ ├── predict_face.py
│ └── waste_classification.py
│
├── utils/ # Thư viện phụ trợ (helper functions, configs, constants)
│ └── config.py # Các biến cấu hình chung
│
├── images/ # Thư mục chứa hình ảnh mẫu hoặc đầu vào
│ ├── DIP.jpg
│ ├── FaceImg/
│ ├── FingerImages/
│ ├── FruitImg/
│ ├── ImageProcessing_Chapter3/
│ ├── ImageProcessing_Chapter4/
│ ├── ImageProcessing_Chapter5/
│ ├── ImageProcessing_Chapter9/
│ └── Waste_Classification/
│
├── data/ # Thư mục chứa dữ liệu bổ trợ
│ └── waste_guide.json
│
├── requirements.txt # Danh sách các thư viện cần cài đặt
├── LICENSE # Thông tin bản quyền
└── README.md # Tài liệu hướng dẫn dự án-
Clone repository:
git clone https://github.com/TrinhHuuTho/DIP_Project.git cd DIP_Project -
Tạo môi trường ảo:
python -m venv .myvenv source .myvenv/bin/activate # Trên Linux/MacOS .myvenv\Scripts\activate # Trên Windows
-
Cài đặt các thư viện cần thiết:
pip install -r requirements.txt
-
Chạy ứng dụng:
streamlit run app.py
- Thiết lập .gitignore để tránh commit nhầm các file không cần thiết.
- Thiết lập .env để bảo mật thông tin nhạy cảm như API keys, database credentials, v.v.
Chúng tôi hoan nghênh mọi đóng góp để cải thiện dự án này. Nếu bạn muốn đóng góp, vui lòng làm theo các bước sau:
-
Fork repository:
- Nhấn nút "Fork" trên GitHub để tạo một bản sao của repository này trên tài khoản của bạn.
-
Clone repository:
git clone https://github.com/TrinhHuuTho/DIP_Project.git cd DIP_Project -
Tạo nhánh mới:
- Tạo một nhánh mới để làm việc trên tính năng hoặc sửa lỗi của bạn.
git checkout -b feature/ten-tinh-nang
-
Thực hiện thay đổi:
- Thực hiện các thay đổi cần thiết và commit chúng.
git add . git commit -m "Mô tả ngắn gọn về thay đổi của bạn"
-
Push nhánh của bạn:
git push origin feature/ten-tinh-nang
-
Tạo Pull Request:
- Truy cập repository gốc trên GitHub và tạo một Pull Request từ nhánh của bạn.
-
Thảo luận và hợp nhất:
- Chờ phản hồi từ nhóm phát triển. Nếu cần, bạn có thể được yêu cầu thực hiện thêm các thay đổi trước khi Pull Request được hợp nhất.
Cảm ơn bạn đã đóng góp cho dự án!
Dự án được cấp phép theo MIT License.