This project process pictures on input, gets their average color and stores it in folder
- python3
- docker
- docker-compose
from project root
docker-compose -f docker-compose.prod.yml -f docker-compose.yml up --build
you can upload file by upload_image
./scripts/upload_image.py {path to your file}
alternatively by
docker cp {path to your file} img_processing_module_input_1:/tmp/images/input/{your filename}
docker-compose -f docker-compose-unit_test.yml up --build
-
process input file and send message to module_rgba
-
Receive messages from module_input
gets average rgba value from the picture and sends rgba message to module_color
-
Receive messages from module_rgba decides the color name and stores picture into the color folder by color name.
-
img_processing_common (shared lib)
Code which is shared across modules
-
Provides interface to upload picture into system, or optionally extend for user interface By default it listens on port 8081, you can change port by setting SERVER_HTTP_PORT at .env file
Project uses redis as for communication between modules and shared volume between containers
-
covers following modules
i tested for following formats
- jpeg
- bmp
- pbm
- png
- tif
project is logging via driver: json-file you should see output in your console example of successful result
INFO:img_processing_common.logger:moved {'d13aee4e4b349411e4ff7c84af8870e7dcb8163e8b9f6500d5f3683bd0af2ce5'} to yellow