Skip to content

Snappy2 detects faces in images and applies custom image filters as overlays. With Snappy2, developers can easily add fun and engaging image filters to their applications.

License

Notifications You must be signed in to change notification settings

Barqawiz/Snnapy2-Filters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snappy 2

PyPI version

Introduction

Snappy2 provides a user-friendly way to create fun and engaging image overlays. It uses a neural network to detect face keypoints to draw overlays such as glasses, mustaches, hats, ears, and custom overlays on the face. The library is easy to use and comes with several code examples to get started quickly with a variety of drawing options:

  • draw glasses
  • draw mustache
  • draw hat
  • draw ears
  • draw any overlay
  • draw text

[ Cover Image ]

Classes

  1. Snappy2: main class object and one place for all snappy library control.
  2. Detector: provides advanced functionality for getting face keypoints.
  3. FacePainter: helper functions for drawing on top of images based on the received keypoints.

[ Snappy2 Structure ]

The library is designed to be easy and has several code examples to help users get started quickly.

Requirements

Pip setup

Snappy2 can be easily installed using pip:

pip install snappy2

Github setup

Download the required libraries for code using following terminal command:

  • Install the requirements:
cd requirements
pip install -r requirements.txt
cd ..
  • Run the demo:
python Demo.py

Imports

from snappy2 import Snappy2

Code Examples (How to)

  • Draw Mustache on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_mustache(human_image, mus_index=0)

[ Mustache Image ]

  • Draw glasses on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_glasses(human_image, gls_index=0)

[ Glass Image ]

  • Draw ears on face (3 lines)
snappy = Snappy2()

human_image = snappy.load_image('<file_path>')
snappy.set_ears(human_image, gls_index=0)

[ Ears Image ]

For more examples and code details check (Demo.py)
For GPU optimized version, download the code from this brunch.

Disclaimer

This library utilizes photos that are freely accessible on the web. If any of the example photos have licensing restrictions, please reach out to the library owner directly for clarification or removal.

  • The overlays sourced from Freepik.
  • The faces from the Unsplash free data set.

License

The MIT License (MIT)

Copyright (c) 2017 Ahmad Barqawi (github.com/Barqawiz)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

About

Snappy2 detects faces in images and applies custom image filters as overlays. With Snappy2, developers can easily add fun and engaging image filters to their applications.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages