Skip to content

Repository files navigation

MorphMe (Obamify remastered)

The idea came from this project by Spu7nix named obamify
You can check out the original project here

The idea revolves around taking a picture and transforming its pixels to match a target image (in the creator's case, Obama) as much as possible.
I saw this and I thought.. Why don't I make it more dynamic?
That's what made me do this project :)
It implements the same idea, but with a live feed camera instead, and it only applies on human faces. So it's more like a Snapchat filter.

So if it's basically a face filter, you could've done it in so much better ways!
Yeah, I know. But it's kinda funny this way, isn't it?

Requirements

First you need to have:

  1. Rust toolchain (rustup, cargo)
  2. Python
  3. Virtual python env that has:
    1. OpenCV (for video processing)
    2. ultalytics (for YOLO)
    3. DearPyGUI (for app UI)
    4. PyTorch (for CUDA check)
    5. Maturin (for rust package)

Rust package initialization

You'll need to create a virtual environment

python -m venv .venv
source .venv/bin/activate

Then you'll need to install maturin command

pip install maturin

Then we're done! just to compile the package use maturin develop

Python libraries installation

This is just a straightforward pip command:

pip install python-opencv ultralytics dearpygui torch

Team

Name Contribution
Abdulrahman Elkhayat Implemented the core pixel-sorting optimization algorithm in Rust, built the GUI, and integrated the overall system components
Mohamed Eleraky Trained and fine-tuned the YOLOv2 face detection model on the human face dataset
Malak Hisham Developed the real-time transformation pipeline, handling per-frame processing in morphing logic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages