A modular Object-Oriented Image Processing Desktop Application built with Python and Tkinter.
This project demonstrates:
- Clean OOP Architecture
- Factory Design Pattern
- Modular Filter System
- GUI Component Separation
- Extensible Design
- Load image (JPG, PNG, BMP, TIFF, GIF)
- Apply filters:
- Blur
- Sharpen
- Grayscale
- Edge Detect
- Sepia
- Invert
- Reset to original
- Save processed image
- ana_uygulama.py → Main GUI controller
- resim_yonetici.py → Image state & processing manager
- fabrikalar.py → Factory Pattern implementation
- filtreler.py → Filter classes
- gui_components.py → UI components
- logger.py → Logging system
- User selects image
- ImageManager loads original image
- User selects filter
- Factory creates filter object
- ImageManager applies filter
- Processed image updates in UI
python -m venv .venv
# Windows
.venv\Scripts\activate
pip install -r gereksinimler.txtpython ana.pyor
python ana_uygulama.pyotobus_terminali/
│
├── ana.py
├── ana_uygulama.py
├── config.py
├── temel_siniflar.py
├── resim_yonetici.py
├── fabrikalar.py
├── filtreler.py
├── gelistirmeler.py
├── gui_components.py
├── logger.py
├── utils.py
├── gereksinimler.txt
├── testler/
├── screenshots/
└── README.md
- Create new class in filtreler.py
- Implement process() method
- Register filter inside fabrikalar.py
- Add button/menu connection
- Python
- Tkinter
- Pillow (PIL)
- OpenCV
- OOP Principles
- Factory Pattern
MIT License




