/PixelPerfekt-Toolkit

A Streamlit Web App with several Image Processing Operations Performed πŸ“ΈπŸ“ŠπŸŒŸ

Primary LanguagePython

PixelPerfekt-Toolkit


Project Description: πŸ“·βœ¨

PixelPerfekt Toolkit is a web application built with Streamlit, offering a range of image processing functionalities to transform pixels with precision. Users can upload images in JPG, JPEG, or PNG format and apply various operations such as converting to grayscale, viewing in HSV color space, applying color masks, detecting contours, and applying different types of image blurring filters. The toolkit provides interactive sliders and checkboxes for parameter adjustment and visualization of histograms to understand pixel distributions.

Video Demonstration πŸ“Ή

Click Below to watch the video πŸ‘‡πŸ‘‡πŸ‘‡

Screenshot 2024-08-18 at 07 13 39

Features: 🌟

  • Upload images in JPG, JPEG, or PNG format.
  • Convert images to grayscale.
  • View images in HSV color space.
  • Apply color masks based on user-defined color ranges.
  • Detect contours in the image.
  • Sharpen images using a user-specified alpha and beta values.
  • Visualize histograms for both original and processed images in REALTIME.
  • Option to view enlarged histograms.

Folder Structure: πŸ—‚οΈ

The application organizes the output images into respective folders based on the applied filter:

  • Original_Image/: Contains original images and their histograms.
  • Gray/: Stores grayscale images and their histograms.
  • Box_filter/: Saves images processed with the box filter and their histograms.
  • Gaussian_blur/: Stores Gaussian-blurred images and corresponding histograms.
  • Median_blur/: Contains images processed with median blur and their histograms.
  • Bilateral_filter/: Stores images processed with bilateral filtering and their histograms.
  • Kernel_blur/: Saves images processed with kernel blur and their histograms.
  • Sharpened/: Stores sharpened images and their histograms.
  • Color_mask/: Contains color-masked images and corresponding histograms.
  • Contours/: Stores contour-detected images and their histograms.
  • Hsv/: Saves images in HSV color space and corresponding histograms.

Docker Integration: 🐳

To streamline the setup and avoid recreating virtual environments, the application is containerized using Docker. This ensures consistent execution across different environments.

Filters Implemented: ⚑️

  1. Original (Not technically a filter)
  2. Gray
  3. HSV
  4. Color Mask
  5. Contours
  6. Kernel Blur
  7. Box Filter
  8. Gaussian Blur
  9. Median Blur
  10. Bilateral Filter
  11. Sharpened

Technologies Used: πŸ› οΈ

  • Streamlit
  • OpenCV
  • NumPy
  • Matplotlib
  • Python Imaging Library (PIL)
  • Docker

Running the Application with Docker:

  • Build and run the Docker Image:
    docker-compose up --build
  • Access the Application: Open your web browser and navigate to
http://localhost:8501

πŸ“Œ Note: For optimal performance, it's recommended to run the application on a machine with sufficient computational resources, especially when processing large images or applying complex operations.