Commit graph

105 commits

Author SHA1 Message Date
Epicalert e4d755c00d
Improve iris detection
This commit makes the following changes to the iris detection:
- Use Scharr instead os Sobel algorithm for image gradient
- Apply Gaussian blur to eye image before processing
- Scale down the eye image if too large
2021-06-07 18:43:00 +08:00
Epicalert 60c5254a47
CV: Add eye look direction 2021-06-07 18:43:00 +08:00
Epicalert 6038cb7870
Package models at compile time
It would be inefficient if git only had access to the binary model files
instead of each image in it. This way, if one image gets updated, an
entire new model package doesn't need to be stored in git's objects.
2021-06-07 18:40:59 +08:00
Epicalert c509c665f9
Modify TODO list
Move some things out of 1.0 requirements and add new 1.0 requirement
2021-06-07 12:33:05 +08:00
Epicalert 47c64e3bf3
Add smoothing
Transform of each part is now smoothed over 4 frames to stop shaking.
2021-04-13 15:52:46 +08:00
Epicalert a58e7d9428
Force ROI for Facemark to be square
This seems to help with Facemark accuracy.
2021-03-31 22:08:52 +08:00
Epicalert 6429ff82cd Merge branch 'model-docs'
Adds a manpage describing the model format.
2021-03-31 15:44:19 +08:00
Epicalert 86689e41d2
Add a newline for clarity 2021-03-31 15:14:13 +08:00
Epicalert 24aa671651
Mention git.epicalert.xyz as main git server 2021-03-24 00:01:37 +08:00
Epicalert 89d77f724d
Add part with multiple textures to example 2021-03-19 23:38:53 +08:00
Epicalert d43c3916f4
Update TODO.md 2021-03-18 22:45:21 +08:00
Epicalert ed6323d7e5
Add FPS counter and unlock webcam framerate
Maybe disable webcam view altogether and make it a compiler flag?
2021-03-18 18:59:04 +08:00
Epicalert 3220795821
Fix stretching/squashing with non-square window 2021-03-17 01:01:21 +08:00
Epicalert 10f36ef3fb
Add example and description for keys 2021-03-09 23:10:16 +08:00
Epicalert f2d92979d0
Add Richard Stallman model
Based on a photo by Ruben Rodriguez, licensed under Creative Commons
Attribution 4.0 <https://creativecommons.org/licenses/by/4.0>.
2021-03-01 16:42:25 +08:00
Epicalert bd69bfea16
Add description section 2021-03-01 00:56:30 +08:00
Epicalert 941c2043cd
Add origin and offsets
Origin point for a model part can be set with `origin` in model.toml;
position and scale offsets can be set with `pos_offset` and
`scale_offset` respectively.
2021-02-28 22:11:35 +08:00
Epicalert 4bb1c17ce4
Change custom prefix on Linux systems 2021-02-28 14:09:49 +08:00
Epicalert 55aab087a4
Fix missing header 2021-02-28 00:22:59 +08:00
Epicalert 5330aff45d
Add todo list 2021-02-24 00:01:21 +08:00
Epicalert 3773532816
Add graphical error messages
Error and warning messages now show up as dialog boxes using Boxer.
Additional dependencies:
- fmt (for string formatting)
- Boxer (static)
2021-02-14 23:47:07 +08:00
Epicalert e56009c125
Add scale and rotation factor
Model parts can now have different scale and rotation factors, so all
parts do not need to rotate and scale with the head.
2021-02-10 17:02:38 +08:00
Epicalert dd6edb96f3
Check model format version 2021-02-07 22:01:31 +08:00
Epicalert 557111d5c4
Put model name on window title 2021-02-07 19:03:27 +08:00
Epicalert 4ce0e0e10d
Add support for webp textures
This allows for models to use lossy textures with an alpha channel,
none of the formats supported by stb_image.h could do this.
2021-02-06 21:19:33 +08:00
Epicalert 25f97e5f90
Add option for using different models 2021-02-06 12:12:37 +08:00
Epicalert 4770c96d92
Add support for model files
Model files are zip archives with a "model.toml" file at the root describing
the model and all its textures.
2021-02-04 22:58:03 +08:00
Epicalert cbbdf5ff79
Fix compile error with project name 2021-01-29 15:15:32 +08:00
Epicalert 5cdd1808ad
Define version number and project name with cmake 2021-01-27 00:21:06 +08:00
Epicalert 82edd492c0
Add proper command line argument parsing with argp 2021-01-26 23:36:22 +08:00
Epicalert 625e9680d3
Switch to DNN face detection
Haar Cascades can still be used by passing the "--haar-cascade" option.
2021-01-22 19:48:55 +08:00
Epicalert f72c81b79b
Look for files in different paths
Models and other supporting files can now be in different directories
instead of the working directory.
2021-01-17 21:36:38 +08:00
Epicalert ef534eb51f
Enable glewExperimental
Not having experimental enabled was causing problems on macOS.
2021-01-15 19:11:25 +08:00
Epicalert 0aac06bc30
Disable "Video Input" window on macOS
I'm not sure why, but when it's enabled macOS kills the program
complaining "NSScreen reconfig must only happen on the main thread."
When it's not enabled the program runs fine.
2021-01-15 19:03:48 +08:00
Epicalert c6c96739bd
Add Info.plist for MacOS camera permission message 2021-01-15 18:43:30 +08:00
Epicalert b05a6bff8f
Use older GLSL ver for compatibility with OpenGL 2.1 2021-01-13 17:48:21 +08:00
Epicalert e28e7bf111
Remove debug from CMakeLists 2021-01-13 09:29:50 +08:00
Epicalert 0c26293f12 Add LICENSE 2021-01-12 14:59:43 +00:00
Epicalert 9b3362dd8b
Clean up directory structure 2021-01-12 22:24:02 +08:00
Epicalert 8b231720b5
Merge branch 'macos-compat'
Building on MacOS is now supported!
2021-01-12 18:36:10 +08:00
Epicalert b1e98e9d3e
Remove hard-coded references to paths and libraries 2021-01-12 01:01:20 +08:00
Epicalert 17323f0092
Fix linking libraries on MacOS 2021-01-11 12:42:47 +08:00
Epicalert 3bc43149c5
Fix apple headers 2021-01-11 10:46:46 +08:00
Epicalert ce2a883d9f
Add /usr/local/include to CMakeLists 2021-01-11 10:43:40 +08:00
Epicalert 7b82b5c386
Add head rotation 2021-01-10 15:13:32 +08:00
Epicalert 3f195b5a99
Add glm include dirs to CMakeLists 2021-01-07 15:13:14 +08:00
Epicalert e657b3d48e
Support Apple include files for OpenGL 2021-01-07 13:12:36 +08:00
Epicalert e8df1282d2
Remove find_package( GLEW ) from CMakeLists
It was already included by another package and causes problems when
compiling on MacOS.
2021-01-07 13:04:16 +08:00
Epicalert f8fe94529f
Remove unnecessary files 2021-01-06 10:34:26 +08:00
Epicalert 7d0760cc9f
clean up main.cpp 2021-01-06 08:10:55 +08:00