基於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}\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、最終界面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM