IPS (Image Processing Studio) is a GUI-based Python application developed for the
Image Processing and Fundamentals of Computer Vision course at Bahonar University.
It provides an interactive environment for exploring spatial and frequency-domain image processing concepts using OpenCV, with real-time visualization and code display.
The main workspace of IPS includes image preview, histograms, tool panels, and a real-time OpenCV code viewer.
IPS is designed as an educational tool to help students understand:
- Digital image processing fundamentals
- Noise modeling and removal
- Frequency-domain analysis using Fourier Transform
- Practical usage of OpenCV (cv2) functions
A key educational feature is the real-time CV2 code displayer.
All processing tools are grouped into logical sections for ease of use.
IPS provides real-time visualization tools:
- Image preview
- Grayscale and color display
- Histogram visualization
Displays intensity distribution for grayscale and RGB channels.
Controls related to visualization and display settings.

Basic image manipulation tools implemented using OpenCV:
- Image inversion
- Rotation
- Flip operations
- Intensity transformations

These operations demonstrate spatial-domain processing fundamentals.
IPS supports controlled noise modeling for experimentation:
- Salt & Pepper Noise
- Gaussian Noise
Noise parameters can be adjusted to study their effect on image quality.

Common noise removal techniques taught in image processing courses:
- Mean Filter
- Median Filter
- Gaussian Filter
- Bilateral Filter
These filters allow comparison between different denoising approaches.
IPS includes full support for Fourier-based image analysis.
- Low-Pass Filter
- High-Pass Filter
- Gaussian Filter
- Notch Pass Filter
- Notch Reject Filter

The Fourier Analysis section provides detailed frequency-domain visualization:
- Magnitude Spectrum (log scale)
- Power Spectrum
- Phase Spectrum
- Radial Average of Magnitude Spectrum (1D profile)

These visualizations help analyze frequency distribution and texture information.
One of the most important educational features of IPS:
- Displays the exact OpenCV (cv2) code used for:
- Image operations
- Noise addition
- Denoising filters
- Frequency-domain filters
- Updates dynamically as operations are applied
This helps students connect theory with implementation.
- Language: Python
- Libraries:
- OpenCV (cv2)
- NumPy
- Matplotlib
- GUI-based desktop application
- Separation of original and processed images
- Modular processing functions
- Centralized CV2 code generation
- Real-time visualization updates
- Load an image
- Inspect histogram and visualization
- Add noise
- Apply denoising filters
- Perform Fourier analysis
- Apply frequency-domain filters
- View OpenCV code in real time
- Save the final image
- Digital image processing
- Spatial-domain filtering
- Frequency-domain filtering
- Noise modeling
- Fourier Transform
- Histogram analysis
- Practical OpenCV programming
- Undergraduate students
- Computer vision beginners
- Image processing laboratory courses
- Anyone learning OpenCV fundamentals
Contributions and improvements are welcome.
- Open an issue for bugs or suggestions
- Submit pull requests for enhancements
IPS is not just an image processing tool —
it is a learning-oriented studio designed to help students visualize,
experiment, and understand image processing and computer vision through
real code and real results.




