第一步,注册百度al进行登入  

第二部,找到人脸识别,并创建公有云获取API Key和Secret Key

 

第三步,找到人脸识别API文档

第四步,获取 access_token

第五步 ,把对应的参数流写入http请求中 (注意这是方法,还调用了上面GetAccessToken()方法,这里需要上传两张照片,以json格式)

string access_token = GetAccessToken();
            string url = "https://aip.baidubce.com/rest/2.0/face/v3/match?access_token=" + access_token + "";
            //Bitmap image=(Bitmap)pictureBox1.Image;
            string base64image = ImageToBase64(a+".jpg");//以自己情况,把图片放在Debag目录下的照片
            string base64image1 = ImageToBase64("kl.jpeg");//以自己情况,把图片放在Debag目录下的照片


//这里需要上传两张照片
            string str = "\r\n[\r\n    {\r\n        \"image\": \"" + base64image + "\",\r\n        \"image_type\": \"BASE64\",\r\n        \"face_type\": \"LIVE\",\r\n        \"quality_control\": \"LOW\",\r\n        \"liveness_control\": \"HIGH\"\r\n     },\r\n     {\r\n         \"image\": \"" + base64image1 + "\",\r\n         \"image_type\": \"BASE64\",\r\n         \"face_type\": \"IDCARD\",\r\n         \"quality_control\": \"LOW\",\r\n         \"liveness_control\": \"HIGH\"\r\n     }\r\n ]";
            byte[] bytes = Encoding.UTF8.GetBytes(str);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.ContentLength = bytes.Length;
            request.GetRequestStream().Write(bytes, 0, bytes.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string content = sr.ReadToEnd();
            sr.Close();

            //反序列化content
            JObject date = JsonConvert.DeserializeObject<JObject>(content);
            string datestr = date["result"].ToString();

            //再次反序列化datestr
            JObject da = JsonConvert.DeserializeObject<JObject>(datestr);
            string datejson = da["score"].ToString();//获取闽值

            try
            {
                if (Convert.ToDouble(datejson.ToString()) >= 80)
                {
                    MessageBox.Show("人脸识别成功!");
                    return;
                }
                else
                {
                    MessageBox.Show("人脸识别失败,请重试!");
                    return;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

图片转base64的ImageToBase64()方法

private string ImageToBase64(string fileFullName)
        {
            Bitmap bmp = new Bitmap(fileFullName);
            MemoryStream ms = new MemoryStream();
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] arr = new byte[ms.Length]; ms.Position = 0;
            ms.Read(arr, 0, (int)ms.Length); ms.Close();

            return Convert.ToBase64String(arr);

        }

第六步,在按钮中 调用方法 Contrast();

 界面可以自行搭建,

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐