Domain.com submission
lookmomiminameme.tech
Inspiration
We were inspired by the idea of face swapping pictures and creating our own emoji, and we decided to use meme in order to increase the humor factor.
What it does
When the user takes a selfie from their webcam, the image is saved locally. Then our program utilizes the Azure face recognition API to identify the area of their face. It randomly picks a meme from our database based and finds where the face is in the meme using the same approach, then our program replaces the user’s face with the original face in the meme.
How I built it
We built it mainly using Microsoft Azure API, Open CV and Python. First, we use OpenCV to stream the camera and capture the user's face, which is stored locally as an image. Then the image is transformed into a byte array in order to upload the image to Azure's API, and which returns location data on where the user's face is in the photo.
Challenges I ran into
One challenge that we faced was using the octet-stream data format to pass local imaged in an HTTP request. None of us had ever worked with this data format before, which gave us an opportunity to learn more about the pillow library.
Accomplishments that I'm proud of
We are really proud that we were able to complete this project since we only had this idea half way through the event. Also, we are proud that we implemented Azure's Computer Vision API into a real-life humorous application.
What I learned
We learned how to use OpenCV, which is a brand new technology for us. We also learned how to do file type manipulation in Python, which could be very handy in our future projects. Also, we understand how Azure API works and create resource for applying various Machine Learning techniques.
What's next for Cameme
An emotion recognition feature could be added to Cameme. After the photo is taken, a sentiment could be extracted from the facial expression. In that case, we could assign a meme of the same mood to swap face with.


Log in or sign up for Devpost to join the conversation.