我一直致力于将 OpenCV 集成到 android 中,并且我能够成功地做到这一点。通过 Java 预设和Haarcascades,我能够在运行时检测Face、Nose、Mouth。
现在下一个任务可能是在运行时检测面部标志。经过大量搜索后,我最终得到了Dlib和Flandmark。我尝试两者都实现。当我实现 Dlib 时,我的相机的帧速率从 15 fps 下降到 1-2 fps,而且也没有检测到地标。在 Flandmark 中,代码无法从原始文件夹中找到 .dat 文件。在Google上进行更多搜索后,我发现OpenCV 3.4.1已经集成了Facemark,并且不需要实现任何第三方库来进行地标检测。
目前,我找不到任何示例或文档来说明如何直接在 onCameraFrame 中重新调整的 mat 上实现 Facemark 或 Kazemi 并从那里检测面部地标。
如有任何帮助,我们将不胜感激。预先感谢。
面部标志 Kazemi 的东西不是核心 opencv 包的一部分,它是扩展之一:https://github.com/opencv/opencv_contrib
我个人认为他们应该将该模块作为核心的一部分,因为很多人都可以访问面部标志。