In this project, I wanted to combine my two main passions: mobile application development and photography. The main goal of the project is to transfer colors between images. Simply upload two images from your device and press one of the generation options below.
There are two generation options for creating the new image with transferred colors: 'Generate' and 'Generate From Palette'.
- The 'Generate' method is strongly related to Reinhard's color transfer algorithm.
- The 'Generate From Palette' option allows the user to remove unwanted colors from the source image and only transfer the remaining colors.
The mobile application was made with Flutter and the color transfer algorithms were written in Python using Flask. The Python file is located in lib/api/api.py.
If you want to run the project, make sure you have installed the Flutter and Python packages. In order to run successfully, you need to run both the api.py and main.dart files. Don't forget to check your emulators internet connection. Have a great time!
Main Screen | Upload From Camera | Upload From Gallery |
---|---|---|
![]() |
![]() |
![]() |
Edit Screen | Save to gallery | Share |
---|---|---|
![]() |
![]() |
![]() |
Upload Source Image | Upload Target Image | Generate |
---|---|---|
![]() |
![]() |
![]() |
Upload Source Image | Remove Colors From Palette | Generate From Palette |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |