Skip to content

Mazenmarwan023/Image-Equalizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Equalizer

Description

This project implements an interactive desktop application for exploring the Fourier Transform (FT) components of grayscale images. The application allows users to manipulate and visualize the importance of magnitude and phase or real and imaginary components, enabling a deeper understanding of the impact of each on the signal. Users can also customize the mixing of different frequency regions for advanced visualization and analysis.

Features

1. Image Viewing

  • Four Image Viewers: View up to four grayscale images simultaneously, with unified sizes across all images.
    • If a colored image is uploaded, it is automatically converted to grayscale.
  • FT Component Display: Select from the following FT components to display in any viewport:
    • Magnitude
    • Phase
    • Real
    • Imaginary
  • Brightness/Contrast Adjustment: Adjust the brightness and contrast of any image or component using mouse drag gestures.

2. Mixing Components

  • Two Modes:
    • Magnitude and Phase
    • Real and Imaginary
  • Customizable Weights: Adjust weights for each FT component using intuitive sliders to mix components and generate a new output image.
  • Output Viewports: View the mixing results in one of two output viewports, with full control over where the result is displayed.

3. Region-Based Mixing

  • Inner and Outer Region Selection:
    • Use a rectangular selector to highlight and include either the inner (low frequencies) or outer (high frequencies) region of the FT components.
    • Customize the size of the region using a slider or resize handles.
    • Unified selection across all input images for consistent mixing.

4. Real-Time Mixing

  • Interactive Updates:
    • Mixing is performed in real-time using inverse Fourier Transform (IFFT).
    • A progress bar shows the operation's status for lengthy computations.
    • If a new mixing operation is requested, the previous operation is canceled and the new one starts immediately, ensuring responsive performance.

Screenshots

  1. Application UI on Startup

    UI
  2. Equalizing Using Magnitude and Phase Mode

    Mag:phase_sameimage Mag:phase
  3. Equalizing Using Real and Imaginary Mode

    Real:imag
  4. Inner Region Frequency Equalizing

    Inner_region
  5. Outer Region Frequency Equalizing

    outer_region

Installation

  1. Clone the repository:

    git clone https://github.com/Mazenmarwan023/image-equalizer.git
  2. Navigate to the project directory:

    cd image-equalizer
  3. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Run the application:

    python app.py
  2. Upload up to four grayscale images.

  3. Select an FT component (Magnitude, Phase, Real, or Imaginary) from the dropdown menu for each image.

  4. Adjust the sliders to customize mixing weights or region selection.

  5. View the mixing results in the output viewport.

Contributors

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages