基於C# 調用百度AI 人臉識別

1、設置

登陸百度雲控制檯,添加應用-添加人臉識別,查找,對比等。網絡

記住API Key和Secret Keyui

2、建立Demo程序

一、使用Nuget安裝 Baidu.AI 和 Newtonsoft.Json

二、直接下載 C# SDK 

三、案例代碼

   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));
        }

四、最終界面

相關文章
相關標籤/搜索