/Computer-vision

Welcome to the Image Processing Repository! This repository is dedicated to providing a comprehensive collection of image processing tools and algorithms, suitable for both beginners and advanced users. Our goal is to facilitate the manipulation, enhancement, and analysis of digital images through a variety of techniques and methods.

Primary LanguageJupyter Notebook

Features

  • A collection of image processing projects across different applications
  • Well-documented code with explanations and references
  • Jupyter notebooks for easy understanding and experimentation
  • Pre-trained models and datasets
  • Detailed instructions for setting up and running the projects

Projects

  1. Basic Image Manipulation

    • Image Resizing
    • Image Cropping
    • Image Rotation
    • Color Space Conversion
  2. Image Filtering

    • Gaussian Filtering
    • Median Filtering
    • Edge Detection (Sobel, Canny)
  3. Image Enhancement

    • Histogram Equalization
    • Contrast Limited Adaptive Histogram Equalization (CLAHE)
    • Image Denoising
  4. Morphological Operations

    • Erosion and Dilation
    • Opening and Closing
    • Morphological Gradient
  5. Advanced Techniques

    • Image Segmentation
    • Image Inpainting
    • Super Resolution

Technical SkillsπŸ“š

  • Languages: Python
  • Libraries: OpenCV, Pillow, Scikit-Image, NumPy
  • Tools: Jupyter, Docker
  • Cloud Platforms: AWS, Azure
  • Version Control: Git, GitHub

Installation

To get started with the projects in this repository, follow the instructions below:

  1. Clone the repository:
    git clone https://github.com/mahdi-noori-ai/image-processing-projects.git
  2. Navigate to the project directory:
    cd image-processing-projects
  3. Create a virtual environment:
    python -m venv venv
    source venv/bin/activate   # On Windows: venv\Scripts\activate
  4. Install the required dependencies:
    pip install -r requirements.txt

Usage

Each project has its own directory with specific instructions on how to run it. Refer to the README file within each project directory for detailed usage instructions.

Example for running a project:

  1. Navigate to the project directory:
    cd basic-image-manipulation/image-resizing
  2. Run the Jupyter notebook or Python script:
    jupyter notebook image_resizing.ipynb

Project Structure

image-processing-projects/
β”œβ”€β”€ basic-image-manipulation/
β”‚   β”œβ”€β”€ image-resizing/
β”‚   β”‚   β”œβ”€β”€ image_resizing.ipynb
β”‚   β”‚   └── README.md
β”‚   β”œβ”€β”€ image-cropping/
β”‚   β”‚   β”œβ”€β”€ image_cropping.ipynb
β”‚   β”‚   └── README.md
β”‚   β”œβ”€β”€ image-rotation/
β”‚   β”‚   β”œβ”€β”€ image_rotation.ipynb
β”‚   β”‚   └── README.md
β”‚   └── color-space-conversion/
β”‚       β”œβ”€β”€ color_space_conversion.ipynb
β”‚       └── README.md
β”œβ”€β”€ image-filtering/
β”‚   β”œβ”€β”€ gaussian-filtering/
β”‚   β”‚   β”œβ”€β”€ gaussian_filtering.ipynb
β”‚   β”‚   └── README.md
β”‚   β”œβ”€β”€ median-filtering/
β”‚   β”‚   β”œβ”€β”€ median_filtering.ipynb
β”‚   β”‚   └── README.md
β”‚   └── edge-detection/
β”‚       β”œβ”€β”€ edge_detection.ipynb
β”‚       └── README.md
β”œβ”€β”€ image-enhancement/
β”‚   β”œβ”€β”€ histogram-equalization/
β”‚   β”‚   β”œβ”€β”€ histogram_equalization.ipynb
β”‚   β”‚   └── README.md
β”‚   β”œβ”€β”€ clahe/
β”‚   β”‚   β”œβ”€β”€ clahe.ipynb
β”‚   β”‚   └── README.md
β”‚   └── image-denoising/
β”‚       β”œβ”€β”€ image_denoising.ipynb
β”‚       └── README.md
β”œβ”€β”€ morphological-operations/
β”‚   β”œβ”€β”€ erosion-dilation/
β”‚   β”‚   β”œβ”€β”€ erosion_dilation.ipynb
β”‚   β”‚   └── README.md
β”‚   β”œβ”€β”€ opening-closing/
β”‚   β”‚   β”œβ”€β”€ opening_closing.ipynb
β”‚   β”‚   └── README.md
β”‚   └── morphological-gradient/
β”‚       β”œβ”€β”€ morphological_gradient.ipynb
β”‚       └── README.md
└── advanced-techniques/
    β”œβ”€β”€ image-segmentation/
    β”‚   β”œβ”€β”€ image_segmentation.ipynb
    β”‚   └── README.md
    β”œβ”€β”€ image-inpainting/
    β”‚   β”œβ”€β”€ image_inpainting.ipynb
    β”‚   └── README.md
    └── super-resolution/
        β”œβ”€β”€ super_resolution.ipynb
        └── README.md

Contributing

Contributions are welcome! If you have any ideas, improvements, or bug fixes, feel free to open an issue or submit a pull request. Please ensure your contributions adhere to the repository's code of conduct.

License

This repository is licensed under the MIT License. See the LICENSE file for more details.

Connect with Me🌐