本简介提供百度人脸识别离线SDK V1.1版的C#调用动态库封装方法,帮助开发者轻松集成人脸识别功能于Windows平台的应用程序中。
本DEMO参考了百度人脸SDK离线版本V1.0的相关资料;
与参考资料相比的不同之处在于:参考资料是基于百度人脸SDK离线版本V1.0的;
而本DEMO则是使用了百度人脸SDK离线版本V1.1。
此demo适用于x64系统,封装成可供C#调用的dll为BaiduFaceDll.dll。
使用步骤如下:
1. 在百度AI开放平台下载百度人脸离线SDK(注意选择版本V1.1.0, 更新日期:2018年8月31日)。
2. 下载完成后,将sdk包中443MB大小的face-resource目录复制到本demo中的BaiduFaceDllx64文件夹内(即为存放BaiduFaceDll.dll文件所在路径的上级目录)。
3. 打开位于BaiduFaceDllx64Release下的LicenseTool.exe程序,输入试用序列号以完成激活操作。注意,在进行此步骤时需要联网环境;或者将现有的license.ini和license.key文件复制到该目录下使用(请注意注册序列号与硬件相关)。
4. 将本demo的BaiduFaceDllx64Release路径添加至系统变量path中。
5. 在WindowsFormsApplication1.exe所在的BaiduFaceDllx64Release目录运行此demo,可以测试封装的dll。输入两张图片后点击“图像对比”,即可看到比对结果。
在C#中的函数注册:
请将BaiduFaceDll.dll修改为实际路径(例如:@d:\BaiduFaceDllx64\Release\BaiduFaceDll.dll),或者直接把该实际路径添加到系统变量path中。
```csharp
[DllImport(BaiduFaceDll.dll)]
public static extern void Init(); // 初始化
[DllImport(BaiduFaceDll.dll)]
public static extern void UnInit(); // 销毁
[DllImport(BaiduFaceDll.dll)]
public extern static int Track(string imgstr, ref StringBuilder res); // 人脸检测,imgstr为图片的base64编码字符串
[DllImport(BaiduFaceDll.dll)]
public static extern int User_Add(string user_id, string imgstr); // 添加用户,imgstr为图片的base64编码字符串
[DllImport(BaiduFaceDll.dll)]
public static extern int User_Delete(string user_id); // 删除用户
[DllImport(BaiduFaceDll.dll)]
public extern static void Identify(string imgstr, ref StringBuilder res); //人脸识别,imgstr为图片的base64编码字符串
[DllImport(BaiduFaceDll.dll)]
public extern static void Match(string image1, int img_type1, string image2, int img_type2, ref StringBuilder res); //人脸比对
```
SDK调用流程:
初始化 -> 图片对比 -> 销毁
源码说明:
本demo的BaiduFaceDll目录下的C++源代码为封装dll的基础。开发环境使用的是VS版本2015,.Net Framework版本4.0。
此DEMO仅包含了一些示例功能的封装实现,其余部分需参考现有样式自行编写完成;