zoukankan      html  css  js  c++  java
  • asp.net 虹软 人脸识别 实现刷脸住宿、刷脸签到、刷脸进入等

    先看看效果图,我把demo改成自动运行了,暂时借用别人的图片:


    最左侧的大图为选择上传的,

    中间的小图是大图的脸,

    右侧的大图是人脸文件夹中已经存在的,并且相似度较高的一张脸,也就是比对的结果。

    先记录下思路,代码整理好再贴出来。

    阿里云和腾讯都有人脸识别的接口,但是图片需要上传到他们的服务器,

    并且,接口返回的不是我想要的东西,经过千辛万苦,终于找到了虹软,

    http://www.arcsoft.com.cn/ai/arcface.html

    开源就必须赞一个,并且支持自己搭建服务器,正是我需要的。

    翻阅了太多的资料,把C++的基础都看了一点,demo老是各种错误,我都想改虹软的算法了

    怎么可能的,他们的算法根本看不懂。

    让demo正常跑起来的步骤:

    1、去官网注册账号;

    2、选择1:N的sdk包下载,建议选择x86的;

    3、在vs里打开demo项目,把你下载的sdk保重的dll文件替换过去,用自己的key替换demo里的;

    4、指定本地一个文件夹,demo需要保存人脸的图片和二进制数据的,设置user可写权限;

    5、到这一步基本就能运行了,有问题再百度;

    本来的想法是app上传图片到服务器,通过软件进行实时比对的,比对后,结果不好返回app了,换思路,

    于是在demo 的基础上,改成了B/S直接比对,返回结果,一切顺利。

    上传图片时出问题了,初始化引擎时引用的dll总是无法正确加载,


    到处都贴3个解决方法,

    DllImport会按照顺序自动去寻找的地方:
    1、exe所在目录
    2、System32目录
    3、环境变量目录

    反复尝试,无效!后来没办法,3种方法都设置,顺便在bin下也放了,再生成项目,可以了。

    然后再把2和3的设置拿掉,一直能用,应该是只需要放在bin下就行了;

    有的还说引用dll使用绝对路径,反正我也试了,不行!

    最后还有个问题就是网站的程序池,务必开启32位应用程序。

    以上是针对32位SDK的,如果你是64位SDK,请继续:

    后来换成64位sdk,本地还好弄,把类库对应的改为64位即可,

    服务器又是崩溃,最难的错误是:

    System.BadImageFormatException: 试图加载格式不正确的程序。 (Exception from HRESULT: 0x8007000B)
    at ArcFaceTest.AFD.AFDFunction.AFD_FSDK_InitialFaceEngine(String appId, String sdkKey, IntPtr pMem, Int32 lMemSize, IntPtr& pEngine, Int32 iOrientPriority, Int32 nScale, Int32 nMaxFaceNum)

    后来试试安装了vcredist2013x64,点击这里下载,重启IIS,终于可以了。真心不容易。

    怎么知道缺少文件的呢?

    也是借助工具检测dll时发现的,工具下载地址

    借鉴这位仁兄的帖子,才下载了上述环境文件的。

    写在最后:

    应该感谢这位大牛,把C++的转为C#的,我只是把C/S的转为B/S了,这个过程比较简单。

    http://blog.csdn.net/feishixin/article/details/77097308

  • 相关阅读:
    转载 如何去掉超链接文字下的下划线
    Fedora 15安装 VirtualBox 4.1
    庆祝开通!
    Delphi直接读写XML修改版
    Perforce的资料一点也没查到
    AxWebBrowser的Navigate2方法写参数的偷懒方法
    腾讯2012实习生面试
    如何让div在IE6下自适应
    PhpStorm修改字体
    监听url
  • 原文地址:https://www.cnblogs.com/Zzz-/p/10768195.html
Copyright © 2011-2022 走看看