Computer Vision & Image Processing Desktop Application

Description

Welcome to Visio-Toolkit! This desktop application offers a comprehensive set of tools and features for performing various image processing and computer vision tasks, making it an indispensable tool for professionals and enthusiasts alike. Whether you're a seasoned image processing expert or just getting started, our app provides an intuitive interface and powerful functionality to meet your needs.

With Visio-Toolkit, users can effortlessly load images, apply a wide range of image processing and computer vision techniques, visualize the results in real-time, and save the processed images with ease. From basic operations like converting images to grayscale and binary formats to advanced features such as edge detection and object recognition, our app empowers users to explore and manipulate images in creative and innovative ways.

Features

  • Noise Generation:

    • Generate and apply different types of noise, including Gaussian, Uniform, and Salt & Pepper noise, to images.
    Uniform Noise Guassian Noise Salt & Pepper Noise
    image image image
  • Image Filtering:

    • Apply various filters including Average, Gaussian, and Median filters to enhance image quality and reduce noise.
    Average Filter Gaussian Filter Median Filter
    image image image
  • Histogram Visualization and Equalization:

    • Visualize histograms and distribution curves of images to understand their pixel intensity distribution.
    • Perform histogram equalization and normalization to enhance image contrast and improve overall appearance.
    Histogram Normalization Equalization
    image image image
  • Thresholding Techniques:

    • Apply various thresholding techniques, including Global and Local Thresholding, to segment images and extract important features.
    Local Global
    image image
  • Frequency Domain Filters:

    • Apply frequency domain filters such as Low Pass and High Pass filters to manipulate image frequency components for image enhancement and noise reduction.
    • Create hybrid images by combining two images in the frequency domain to create visually appealing compositions.
    High pass Low pass
    image image image image
  • Edge Detection:

    • Utilize edge detection algorithms such as Sobel, Perwitt, Robert, and Canny for detecting edges and contours in images.
    Sobel Roberts Perwitt Canny
    image image image image
  • Hough Transform:

    • Detect lines, circles, and ellipses in images using the Hough Transform method for robust shape detection and recognition.
    Line Circle Ellipse
    image image
  • Active Contour:

    • Use active contour models (also known as snakes) to detect and track object boundaries in images.
    • Allow users to select an initial contour or region of interest (ROI) in the image.
    • Tune parameters such as alpha, beta, gamma, and iterations to control the behavior and convergence of the active contour algorithm.
    • Enable real-time visualization of the active contour evolution and final segmentation result.
    Example 1 Example 2
    image image image image
  • Feature Detection:

    • Detect image features using methods like Harris Corner Detector and Lambda Corner Detector for point feature extraction.
    • Perform image matching and template matching to identify similarities and patterns in images.
    Harris Lambda
    image image
  • Feature Matching:

    | Square Sum of Differences method | Cross-Correlation Method | SIFT | | :----------------------------: | :-----------------------------: | |image | image | image |

  • SIFT Descriptors:

    • Utilize Scale-Invariant Feature Transform (SIFT) descriptors to detect and describe key points in images.

    • Compute keypoint matching between images for image registration and alignment tasks.

  • Thresholding Segmentation:

    • Apply advanced thresholding segmentation techniques, including Otsu, Spectral, Optimum local, and global thresholding, to segment images into distinct regions and objects.
    Local Otsu Local Spectral Local Optimum
    Global Otsu Global Spectral Global Optimum
  • RGB Image Segmentation:

    • Segment RGB images using K-means clustering, mean shift clustering, Agglomerative Segmentation, and Region Growing methods for semantic segmentation and object detection tasks.

      K-Means Segmentation Mean Shift Segmentation
      img img
      Agglomerative Segmentation Region Growing
      image image

|

Summary

Our Image Processing Desktop Application offers a comprehensive suite of features and tools for image manipulation, analysis, and enhancement. With its intuitive interface and powerful functionality, users can explore the world of digital imagery with ease and efficiency. Whether you're a professional photographer, researcher, or hobbyist, our app provides the tools you need to unleash your creativity and achieve stunning results.

How to Run the Program

To run the Image Processing Desktop Application, follow these simple steps:

  1. Clone or download the repository to your local machine.

  2. Install the necessary dependencies using pip install -r requirements.txt.

  3. Launch the application by running python main.py from the terminal or command prompt.

  4. Explore the various features and tools available in the application's graphical user interface (GUI).

  5. Load images, apply image processing techniques, visualize the results, and save the processed images as needed.

  6. Enjoy the power and versatility of our Image Processing Desktop Application!

    Contributors

Muhannad Abdallah
Muhannad Abdallah
Ali Badran
Ali Badran
Ahmed Ali
Ahmed Ali
Hassan Hussein
Osama Badawi