欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于C# 调用百度AI 人脸识别

程序员文章站 2022-05-18 16:14:57
一、设置 登录百度云控制台,添加应用-添加人脸识别,查找,对比等。 记住API Key和Secret Key 二、创建Demo程序 1、使用Nuget安装 Baidu.AI 和 Newtonsoft.Json 2、直接下载 C# SDK 3、案例代码 4、最终界面 ......

一、设置

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

基于C# 调用百度AI 人脸识别

记住api key和secret key

二、创建demo程序

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

基于C# 调用百度AI 人脸识别

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、最终界面

基于C# 调用百度AI 人脸识别