Inspiration

We were tired of the boring plain webcams we used for Zoom meetings and online lectures all summer. We wanted something to spice up our webcams and make memories during a virtual summer away from friends!

What it does

Feel-ter Photo Booth is a smart photobooth with features including: emotion detection, various cool filters, and image saving.

The user opens up the photobooth and selects a filter to apply from a dropdown menu. When the camera opens up, they can press the “Take Photo” button to take a photo, which then shows their face with the filter placed on their head (filter placement thanks to facial recognition with

How we built it

UI was made with PyQt5 - we used them to access the camera and for all the user interactions. Image processing was done with a mix of OpenCV and Pillow.

The facial and emotion recognition features were implemented using Python, OpenCV, and Microsoft Azure’s Facial Recognition API.

Challenges we ran into

The facial recognition portion of the code ran too slowly for the filters to continuously show in real time on your face. We adapted by deciding to add the filters after the picture is taken, without live feedback.

Accomplishments that we’re proud of

It works!

More specifically: The GUI window can be resized, the dropdown menu is seamlessly integrated with different face filters, and the emotion detection aspect works really well and is super cool!

What we learned

Eilleen - I learned about how PyQt works, details on how saving/loading images works on Python and OpenCV

Ellie - I learned how to use OpenCV to access webcams and handle videos, how to build GUIS using PyQt5, and how to handle events and override them.

Eugene - I learned how to interface with Microsoft Azure Facial Recognition API and details on how facial/emotion recognition works.

Clair - I learned how to use Pillow and Microsoft Azure Facial Recognition API, and became familiar with image manipulation.

Built With

  • azure-facial-recognition-api
  • opencv
  • our-brains
  • pillow
  • pyqt5
  • python
Share this project:

Updates