zoukankan      html  css  js  c++  java
  • 基于C# 调用百度AI 人脸识别

    一、设置

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

    记住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}
    ";
                        }
                    }
                    else
                    {
                        memoEdit1.Text += $"认证失败{guidName}:{DateTime.Now}
    ";
                    }
                }
                catch(Exception ex)
                {
                    XtraMessageBox.Show("验证失败!");
                    Console.WriteLine(ex);
                }
        
            }
            public string ReadImg(string img)
            {
                return Convert.ToBase64String(File.ReadAllBytes(img));
            }

    4、最终界面

  • 相关阅读:
    Twitter OA prepare: Rational Sum
    Java: Best Way to read a file
    Summary: gcd最大公约数、lcm最小公倍数算法
    Twitter OA prepare: Flipping a bit
    Twitter OA prepare: Equilibrium index of an array
    echo -e 参数
    openwrt 添加luci选项
    基于TLS的EAP 认证方法
    linux命令 dirname
    freeradius 错误: error:140890C7:SSL routines:ssl3_get_client_certificate:peer did not return a certificate
  • 原文地址:https://www.cnblogs.com/w2011/p/11226740.html
Copyright © 2011-2022 走看看