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

  • 相关阅读:
    查找大文件的命令
    JavaScript对象参考手册
    Thymeleaf(Java模板引擎)
    C#基础语法补充
    mysql 拾遗提高(函数、事务、索引)
    jQuery总结
    Hibernate (开源对象关系映射框架)
    git的使用命令
    Xpath,XQuery,DTD
    XML DOM(Document Object Model)
  • 原文地址:https://www.cnblogs.com/w2011/p/11226740.html
Copyright © 2011-2022 走看看