https://github.com/mohamed-hanfy/imageprocessing
https://github.com/mohamed-hanfy/imageprocessing
gui opencv python
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/mohamed-hanfy/imageprocessing
- Owner: Mohamed-hanfy
- Created: 2024-12-19T14:36:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-19T14:38:38.000Z (over 1 year ago)
- Last Synced: 2025-04-09T00:07:12.819Z (about 1 year ago)
- Topics: gui, opencv, python
- Language: Python
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Image Processing GUI Application
A user-friendly desktop application for basic image processing operations built with PyQt5 and OpenCV.
## Features
- Load and save images in multiple formats (PNG, JPG, JPEG, BMP)
- Basic image operations:
- Resize images with custom dimensions
- Crop images with precise coordinates
- Rotate images at any angle
- Apply Gaussian blur
- Apply Median blur
- Reduce noise using bilateral filter
- Real-time preview of changes
- Simple and intuitive graphical interface
- Comprehensive error handling
## Prerequisites
- Python 3.6 or higher
- pip (Python package installer)
## Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/image-processor-gui.git
cd image-processor-gui
```
2. Install required packages:
```bash
pip install opencv-python numpy PyQt5
```
## Usage
1. Run the application:
```bash
python image_processor.py
```
2. Using the application:
- Click "Load Image" to open an image file
- Select any operation from the available buttons
- Follow the dialog prompts to enter parameters
- Click "Save Image" to save your processed image
## Operations Guide
### Resize Image
- Enter new width and height in pixels
- The image will be resized while maintaining aspect ratio
### Crop Image
- Enter X and Y coordinates for the starting point
- Specify desired width and height for the cropped area
### Rotate Image
- Enter rotation angle in degrees
- Positive angles rotate clockwise
- Negative angles rotate counter-clockwise
### Blur Effects
- Gaussian Blur: Enter kernel size (odd number)
- Median Blur: Enter kernel size (odd number)
- Larger kernel sizes create stronger blur effects
### Noise Reduction
- Automatically applies bilateral filter
- Reduces noise while preserving edges
## Error Handling
The application includes comprehensive error handling:
- Input validation for all operations
- File format validation
- Processing error detection and user notifications
- Graceful error recovery
## Troubleshooting
Common issues and solutions:
1. "Please load an image first!"
- Solution: Load an image before attempting any operations
2. "Error loading image"
- Check if the file exists
- Verify the file format is supported
- Ensure you have read permissions
3. "Error processing image"
- Verify input parameters are within valid ranges
- Check if the image is not corrupted
- Ensure sufficient system memory
## System Requirements
- Operating System: Windows, macOS, or Linux
- RAM: 4GB minimum recommended
- Display Resolution: 1024x768 or higher
- Disk Space: 100MB for installation
## Dependencies
- PyQt5 (GUI framework)
- OpenCV (Image processing)
- NumPy (Array operations)
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- OpenCV for image processing capabilities
- PyQt5 for the GUI framework
- Python community for various resources and inspiration