face-symmetrizer

Easy symmetrizer for an image contained face(s)


Keywords
face-recognition, image-symmetrizer, python
License
MIT
Install
pip install face-symmetrizer==1.8.1

Documentation

face-symmetrizer

PyPI version GitHub release

pre-commit.ci status

  • Easy symmetrizer for an image contained face(s)

Install

pip install face-symmetrizer

How

  • Here is an example image of two people

fig0

Command

$ fsym -h
usage: fsym [-h] [-s] [-S] [-q] [-o dir] file [file ...]

Easy symmetrizer for an image contained face(s)

positional arguments:
  file                  input image files

optional arguments:
  -h, --help            show this help message and exit
  -s, --show            show images (default: False)
  -S, --save            save images (default: False)
  -q, --quiet           make log quiet (default: False)
  -o dir, --outdir dir  directory when saving images (default: .)
  • Detect with window and save symmetrized images to outimg
$ fsym img/two_people.jpg -o outimg -s --save
[+]image: img/two_people.jpg
[+]2 face(s) was detected.
[+]face: 0 # open window when using `-s`
[+]save: outimg/two_people.face-0.left_cropped.jpg
[+]save: outimg/two_people.face-0.left_cropped_inner.jpg
[+]save: outimg/two_people.face-0.left_cropped_outer.jpg
[+]save: outimg/two_people.face-0.right_cropped.jpg
[+]save: outimg/two_people.face-0.right_cropped_inner.jpg
[+]save: outimg/two_people.face-0.right_cropped_outer.jpg
[+]face: 1 # open window when using `-s`
[+]save: outimg/two_people.face-1.left_cropped.jpg
[+]save: outimg/two_people.face-1.left_cropped_inner.jpg
[+]save: outimg/two_people.face-1.left_cropped_outer.jpg
[+]save: outimg/two_people.face-1.right_cropped.jpg
[+]save: outimg/two_people.face-1.right_cropped_inner.jpg
[+]save: outimg/two_people.face-1.right_cropped_outer.jpg

Library

  • First, load an image
from face_symmetrizer import FaceSym

# load from local file path
f = FaceSym("img/two_people.jpg")
# or, load from URL
# f = FaceSym("https://raw.githubusercontent.com/ageitgey/"
#             "face_recognition/master/examples/two_people.jpg")


# ATTRS: ['image_location',
#         'f_img', 'f_img_PIL', 'image_size',
#         'face_locations', 'face_landmarks',
#         'mid_face_locations', 'face_count']
  • Get & show a full image
f.get_full_image(show=True) #=> <PIL.Image.Image>

fig1

  • Get & show an image of a rectangle drawn around a face.
f.get_face_box_drawed_image(show=True) #=> <PIL.Image.Image>

fig2

  • Get & show cropped face(s)
f.get_cropped_face_images(show=True) #=> [<PIL.Image.Image>, ...]

fig3 fig4

  • Get & show symmetrized images (face: 0)
f.get_symmetrized_images(show=True, idx=0)
#=> (left_cropped, left_cropped_inner, left_cropped_outer,
#    right_cropped, right_cropped_inner, right_cropped_outer)

fig5

  • Get & show symmetrized images (face: 1)
f.get_symmetrized_images(show=True, idx=1)

fig6

LICENSE

MIT