Inspiration
We wanted to develop a cool project that manipulates images, and we thought of the idea where large images are made up of smaller images and we wanted to automate that process.
What it does
This project is able to make a larger target image by putting together a variety of user inputted images.
How I built it
For our front end we used flask to create a webserver to get the user images. Our backend is made by first shrinking down all of our images to usable sizes (user images are 8x8 and target is 256x256). We then take the user inputted images and find their average colour and save it to a dict. For the target image, we break it down into 8x8 squares and find all of their average colours. We then compare the average colour of each 8x8 square in the target image to the user inputted squares and choose which one should replace it. We the stitch all of the 8x8 squares together to form the final image.
Challenges I ran into
We found trouble originally trying to figure out how to make this project. We then found the pillow library for python which does image manipulation and the project was then feasible.
Accomplishments that I'm proud of
We were able to complete the project and put it together in one day only with 2 people.
What I learned
We learned how to use Pillow for python and some open cv. We also learned how to use Flask to make a webserver.
What's next for Pointilism
We hope to improve the project by making the images a larger resolution so that the image looks cleaner and more crisp.
Log in or sign up for Devpost to join the conversation.