日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#实现扫脸登陆 ---百度API

發布時間:2023/12/8 C# 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#实现扫脸登陆 ---百度API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:
最近正在做一個收費系統,正好需要用到人臉對比。因為需要實現人臉登陸,通過掃描人臉進行登陸。

人臉對比邏輯
需要在注冊用戶的時候把用戶的臉存入到數據庫,然后在用戶進行人臉登陸的時候。再次拿到用戶注冊時的臉和現在登陸時拍照的臉,去百度的接口進行相似度對比。(這步也可以不去百度接口對比,也可自己在本地寫一個對比算法)

解析圖:

安裝百度api,在這我使用的是在線安裝的方法
nuget安裝百度api
按照這個方法可以在vs2019中安裝網絡上的任何api

代碼部分:

/** * Namespace: BLL.Utlity * * Function: 百度人臉驗證 * Name: Faces * * Ver Time Author * 0.10 2020/11/6 22:30:49 康世行 * */ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Entity; using System.Web.Script.Serialization; using System.Collections;namespace BLL.Utlity {public class Faces{/// <summary>/// 圖片格式轉換為Base64string格式/// </summary>/// <param name="img"></param>/// <returns></returns>public static string readImg(string img){return Convert.ToBase64String(File.ReadAllBytes(img));}/// <summary>/// 人臉驗證/// </summary>/// <param name="Url1">圖像1</param>/// <param name="Url2">圖像2</param>/// <returns></returns>public static double FacesResult(string Url1, string Url2) {var API_KEY = ""; //百度注冊賬號的apikeyvar SECRET_KEY = ""; //百度注冊賬號的secretkeyvar client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY);var faces = new JArray {new JObject{{"image",readImg(Url1)},{"image_type", "BASE64"},{"face_type", "LIVE"},{"quality_control", "LOW"},{"liveness_control", "NONE"},},new JObject{{"image",readImg( Url2)},{"image_type", "BASE64"},{"face_type", "LIVE"},{"quality_control", "LOW"},{"liveness_control", "NONE"},}};//返回值,獲取相似值,進行字符串截取。var result = client.Match(faces);string str=result.ToString();//獲取json字符串series series = JsonToEntity<series>(str);//json字符串轉為實體string strScore = "0";//默認返回零//判斷是否有返回值if (series.result != null) {strScore = series.result.ToString().Substring(14, 2);}//轉換double返回double srecc =double.Parse(strScore);// 以獲取值,進行類型轉換。return srecc;}/// <summary>/// 把json字符串轉成實體/// </summary>/// <typeparam name="T">對象</typeparam>/// <param name="data">json字符串</param>public static T JsonToEntity<T>(string Json){return JsonConvert.DeserializeObject<T>(Json);}} }

總結:
這個只是適合做簡單的人臉對比,安全性要求不是很高的適合。要是安全性要求很高的話,還得多一步活物檢測。(大家如果有更好的人臉驗證方法,記得私聊作者,歡迎打擾!)

總結

以上是生活随笔為你收集整理的C#实现扫脸登陆 ---百度API的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。