Welcome to the Image-Processing-Course repository!
This collection is a comprehensive compilation of practical and advanced image processing projects implemented in Python using OpenCV, TensorFlow, PyTorch, and other relevant libraries. It serves as a hands-on guide for learning, experimenting, and mastering computer vision techniques.
The goal of this repository is to provide a rich set of mini-projects and notebooks that teach fundamental to advanced concepts in image processing and computer vision. Ideal for students, researchers, and engineers.
Each project is self-contained in its own directory or notebook. Here's an overview of the available modules:
Project | Description |
---|---|
Adaptive Threshold for Image/Webcam | Dynamic binarization for images and real-time streams |
Advanced Histogram Equalization | CLAHE and other histogram improvement techniques |
Basic Yolov8n and MTCNN for Face Recognition | Simple implementation of YOLO and MTCNN for detecting and recognizing faces |
Better Coin Detection | Improved contour-based coin recognition |
Cartooning Image | Convert photos to cartoon-style images |
Dominant Colors | K-Means-based dominant color extraction |
Homography | Perspective transformation between images |
Image Compression | Image compression using K-Means clustering |
Image Cropping | Manual and automatic image cropping tools |
Image Deblurring | Restore blurred images using filters |
Image Denoising | Noise reduction using Gaussian and median filters |
Image Inpainting | Restore missing regions of images |
Image Restoration | Degradation + restoration pipeline |
Image Rotation | Image rotation using affine transforms |
Image Segmentation with GrabCut | Foreground-background segmentation with GrabCut |
Otsu Binarization for Car Plate | License plate binarization with Otsu's method |
Pose Estimation | Skeleton pose detection using pre-trained models |
Simple BoundingBox | Draw bounding boxes on detected objects |
Simple Coin Counter | Count circular objects (coins) in images |
Simple Color Tracker | Real-time color tracking using HSV thresholding |
Simple Deep Face Detection | Deep learning model to detect faces |
Simple Deep Face Recognition | Deep learning-based facial recognition |
Simple Mask RCNN | Instance segmentation using Mask R-CNN |
Simple Open Pose | Body joint detection using OpenPose |
Simple Parking Space Counter | Detect and count parking spaces |
Simple Skin Detection | Detect skin areas in images |
Simple Tensorflow Object Detection | Basic object detection using TensorFlow models |
Simple Word Detection | Text recognition using image pre-processing |
Most projects use the following packages:
opencv-python
numpy
matplotlib
scikit-image
scikit-learn
tensorflow
torch
mediapipe
ultralytics
Install all dependencies:
pip install -r requirements.txt
Some projects may require specific versions. Check each notebook or
.py
file for details.
You can run each .ipynb
notebook directly in Jupyter or Colab.
For Python scripts:
python project_name.py
For real-time webcam-based projects, make sure your system has an accessible camera.
This repository is licensed under the MIT License.
Awrsha Follow me on GitHub for more machine learning and image processing projects.
If you find this repository useful, please consider giving it a ⭐️ and sharing it with your peers.
Feel free to open issues or pull requests to improve or add more projects!