Skip to content

bfactory-ai/zignal

Repository files navigation

Zignal

test documentation

Zignal is an image processing library heavily inspired by the amazing dlib.

Disclaimer

This library is in early stages of development and being used internally. As a result, the API might change often.

Reason of being

This library is used by Ameli for its makeup virtual try on.

Features

Initially, the features in this library are the ones required to get the virtual makeup try on working. However, we hope that it can be a foundation from which we can build a high quality image processing library, collaboratively.

Current features include:

  • color space conversions
  • simple matrix struct with common linear algebra operations
  • singular value decomposition (SVD) ported from dlib
  • geometry
    • points and rectangles
    • projective, affine and similarity transforms
    • convex hull
  • simple image struct with common operations
    • resize
    • rotate
    • crop
    • blur
    • sharpen
    • views (called sub_image in dlib or roi in OpenCV.)
  • drawing functions
    • lines
    • circles
    • polygons

Examples

I plan to add examples for most of the features of this library as simple HTML/JS + Wasm. One of the greatest things about dlib is the large amount of examples illustrating how to use many of that library features. They can be accessed from here.

Currently, there are examples for:

Acknowledgements

First of all, this project would not have been possible without the existance of dlib. In fact, the first version of the virtual makeup try on was written in C++ with dlib and Emscripten. However, we decided to give Zig a go, even if that meant rewriting the world, but we have no dependencies now.

Finally, B factory, Inc, which is my employer and graciously agreed to release this library to the public.