@@ -7,25 +7,35 @@ At the moment, it mainly provides the following functionality:
* MorphableModel class to represent a 3DMM (using OpenCVs `cv::Mat`)
* Camera estimation, implementation of the _Gold Standard Algorithm_ from Multiple View Geometry, Hartley & Zisserman
* Shape fitting, implementation of the linear shape-to-landmarks fitting of O. Aldrian & W. Smith, Inverse Rendering of Faces with a 3D Morphable Model, PAMI 2013.
* Shape fitting, implementation of the linear shape-to-landmarks fitting of O. Aldrian & W. Smith, Inverse Rendering of Faces with a 3D Morphable Model, PAMI 2013
* Isomap texture extraction to obtain a pose-invariant representation of the face texture.
## Usage
* Tested with the following compilers: gcc-4.8.2, clang-3.5, Visual Studio 2013
* Needed dependencies: CMake, Boost system filesystem program_options (1.54.0), OpenCV core, imgproc, highgui (2.4.3). Older versions might work as well.
* Tested with the following compilers: gcc-4.8.4, clang-3.5, Visual Studio 2015
* Needed dependencies
* For the library: Boost system (>=1.50.0), OpenCV core (>=2.4.3)
* For the example app: CMake (>=2.8.10), Boost system, filesystem, program_options (>=1.50.0), OpenCV core, imgproc, highgui (>=2.4.3).
### Build the examples and tests
* copy `initial_cache.cmake.template` to `initial_cache.cmake`, edit the necessary paths
* create a build directory next to the `eos` folder: `mkdir build; cd build`
* build using your favourite tools, e.g. `make; make install` or open the solution in Visual Studio.
## Sample code
See examples/fit_model.cpp.
See [examples/fit-model.cpp](https://github.com/patrikhuber/eos/blob/master/examples/fit-model.cpp).
After `make install` or running the `INSTALL` target, an example image with landmarks can be found in `install/bin/data/`. The model and the necessary landmarks mapping file are installed to `install/share/`.
The output is an `obj` file with the shape and a `png` with the extracted isomap. The camera matrix and shape coefficients are available in the code via the API.