Portrait background removal for custom QR codes
A GUI app that removes a portrait's background with computer vision and blends the face into a branded QR code, with scan reliability intact.
What this project is
A client wanted QR codes that stand out and carry their brand. I built an interactive GUI application that removes the background from a portrait and blends the person's facial features into a customised QR code.
It combines image processing with creative QR generation, so each code looks distinctive and personal while still scanning reliably.
What needed solving
Generic QR codes are easy to make but do little to reinforce an identity or stand out from the many identical ones. Designing a personalised code by hand for every person takes time and design skill.
Automating the background removal and the face embedding turns that into a repeatable branding tool, so brands, event organisers and marketing teams can produce distinctive codes at volume without slowing down.
What I did
- Built the GUI application in Python.
- Used computer vision to detect and remove the background from uploaded portraits.
- Wrote the image-processing logic that isolates the facial features and blends them into the QR code.
- Tuned the result so the personalised code stays reliably scannable.
How it works
Portrait upload
The user uploads a portrait through the GUI, and computer vision detects and removes the background automatically.
Facial feature embedding
Python image-processing logic isolates the facial features and blends them into the visual structure of the QR code.
Scannable QR output
The system renders the customised, branded QR code, which stays fully scannable despite the personalisation.
Tools and methods
What came out of it
| Measure | Result |
|---|---|
| Portraits with automated background removal | 2,000+ |
| Custom QR codes with embedded faces | 1,500+ |
| Scan success despite the personalisation | 98% |
| Manual design time | Reduced by 75% |
Interested in similar work?
Want personalised, scannable branding at volume? Send me a message and let's talk.
👋 Let's talk