A modern desktop image analysis and processing application built with Python, PySide6, and OpenCV. It provides interactive image viewing, RGB & HSI color analysis, histogram visualization, and common image enhancement operations.
- Import images (
PNG,JPG,BMP,TIFF) - Smooth mouse-wheel zoom
- Click & drag panning
- Fit image to window
- Reset zoom
-
RGB channel statistics:
- Min, Max, Mean, Standard Deviation
-
HSI color space analysis:
- Hue (degrees)
- Saturation
- Intensity
-
Combined RGB + HSI histograms
Accessible from an expandable Operations panel:
- Smoothing (Gaussian Blur)
- Sharpening (Unsharp Mask)
- Histogram Equalization (luminance-based)
-
Export processed images to:
- PNG
- JPG / JPEG
- BMP
- TIFF
- Professional dark theme
- Sidebar-based layout
- Non-destructive editing (original image preserved)
- Live histogram and statistics updates
- Python 3.9+
- Windows / Linux / macOS
pip install pyside6 opencv-python numpy matplotlib- Clone the repository:
git clone https://github.com/your-username/image-analyzer.git
cd image-analyzer- Install dependencies:
python -m pip install pyside6 opencv-python numpy matplotlib- Run the application:
python image_analyzer.py- Click Import Image to load an image.
- Use the mouse wheel to zoom and drag to pan.
- Open Operations to apply image processing filters.
- Inspect RGB & HSI statistics and histograms.
- Export the processed image using Export Image.
-
HSI Color Space
- Intensity = average of RGB channels
- Saturation based on minimum RGB value
- Hue computed using arccosine with quadrant correction
-
Histogram Equalization
- Applied only to the luminance channel (Y) in YCrCb color space
- Preserves original color balance
image-analyzer/
│
├── image_analyzer.py # Main application
├── README.md # Documentation
├── requirements.txt # Dependencies (optional)
└── screenshots/ # UI screenshots (optional)
- Undo / Redo support
- Slider-based filter controls
- Additional color spaces (HSV, LAB, YCbCr)
- Webcam input
- Batch processing
- Standalone EXE packaging (PyInstaller)
Released under the MIT License. Free to use, modify, and distribute.
Mohammad Yasin Firoozi GitHub: @firooziyasin90
If you want, I can also:
- Generate a
requirements.txt - Add GitHub badges
- Write a CONTRIBUTING.md
- Prepare screenshots for the README
- Create a release-ready Windows EXE
Just tell me.