zoukankan      html  css  js  c++  java
  • 【Linux】虹软人脸识别Face Recognition的封装

    写了一个linux下的Face Recognition的封装,当作是练习。
    C++的封装,结合opencv,使用方便。
    https://github.com/zacario-li/FaceRecognition-with-ArcSoftLib
    整体来说,ArcSoft的提供的FaceEngine已经很好用了,接口非常简洁,不过对于一个不熟悉的使用者来说,还是会对ArcSoft那些接口的参数类型感到头晕,至少我一开始就是这样的。
    基于这样的想法,我才有了对该FaceEngine封装的想法。
    封装的思路如下:

    基于C++,避免不必要的内存泄漏
    基于OpenCV,但凡跟图像扯上关系,难免用上通用型的计算机视觉库,所以选择OpenCV
    基于最简单的使用逻辑,整个封装一共4个主要函数: Start(), Stop(), BuildFeatureList(), GetFaceIDScore();
    当然还配套了一些附加功能的函数,这个主要是为了自己使用方便。上述public函数设计,使用极其简单,但凡有点软件基础的都能轻松使用。

    P.S. 给AcrSoft的FaceEngine一点建议:
    1.文档中,对于LPAFD_FSDK_FACERES, AFR_FSDK_FACEMODEL 两个类型定义的解释很少,很容易让用户产生误解。
    2.在我看来,像AFR_FSDK_FACEMODEL.pbFeature 这个指针,从接口中带出来Feature数据,看起来像是存储在arcsoft库中的某个全局变量中的,这个就要求用户获取到feature后,必须立马copy到其它内存区域。这一点,文档中并没有提及。
    summary:

    优化接口使用方式,用尽量简便的接口提供给用户。
    添加代码注释,对于sample代码的设计给出详细的解释,并标注上一般使用可能会遇到的问题

    ArcSoft的FaceEngine免费给大家用,真的是佛心,希望ArcSoft越来越好。

  • 相关阅读:
    [JSOI2015]染色问题
    [ZJOI2016]小星星
    [BZOJ4361]isn
    [BZOJ4043/CERC2014]Vocabulary
    [BZOJ3622]已经没有什么好害怕的了
    [BZOJ2958]序列染色
    [SDOI2013]spring
    [Usaco2012 Nov]Concurrently Balanced Strings
    php常用函数集合
    制作item和category的mvc视图总结
  • 原文地址:https://www.cnblogs.com/KEAIILINN/p/10655940.html
Copyright © 2011-2022 走看看