Skip to content

SheikhWalter/MorphMe

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors