一、设置

登录百度云控制台,添加应用-添加人脸识别,查找,对比等。

记住api key和secret key

二、创建demo程序

1、使用nuget安装 baidu.ai 和 newtonsoft.json

2、直接下载 c# sdk 

3、案例代码

   private void simplebutton1_click(object sender, eventargs e)
        {
 
            //devepxress 控件 
            bitmap bitmap = cameracontrol1.takesnapshot();
            // 设置appid/ak/sk
            var api_key = "你的apikey";
            var secret_key = "你的secret_key";
            var client = new baidu.aip.face.face(api_key, secret_key);
            client.timeout = 60000;  // 修改超时时间
            client.appid = app_id;
            string guidname = guid.newguid() + ".jpeg";
            bitmap.save(guidname, imageformat.jpeg);
            var image = readimg(guidname);
            var imagetype = "base64";
            var groupidlist = "bim";

            // 如果有可选参数
            var options = new dictionary<string, object>{
                {"max_face_num", 1},
                {"match_threshold", 90},
                {"quality_control", "normal"},
                {"liveness_control", "low"},
                {"max_user_num", 1}};

            // 调用人脸搜索 m:n 识别,可能会抛出网络等异常,请使用try/catch捕获
            // 带参数调用人脸搜索 m:n 识别
            try
            {
                var result = client.multisearch(image, imagetype, groupidlist, options);
                //判断是否成功 
                if (result["error_msg"].tostring() == "success")
                {
                    var list = jsonconvert.deserializeobject<rootobject>(result.tostring());
                    if (list.result.face_list != null)
                    {
                        //获取用户标识
                        string userid = list.result.face_list[0].user_list[0].user_id;
                        memoedit1.text += $"{userid}:{datetime.now}\r\n";
                    }
                }
                else
                {
                    memoedit1.text += $"认证失败{guidname}:{datetime.now}\r\n";
                }
            }
            catch(exception ex)
            {
                xtramessagebox.show("验证失败!");
                console.writeline(ex);
            }
    
        }
        public string readimg(string img)
        {
            return convert.tobase64string(file.readallbytes(img));
        }

4、最终界面