国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 基于騰訊云人臉核身和百度云證件識(shí)別技術(shù)相結(jié)合的 API 實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了C# 基于騰訊云人臉核身和百度云證件識(shí)別技術(shù)相結(jié)合的 API 實(shí)現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

騰訊云人臉核身技術(shù)

Craneoffice.net 采用的識(shí)別方式

? ? ? ? 1、活體人臉核身(權(quán)威庫(kù)):

? ? ? ? 2、活體人臉比對(duì):

? ? ? ? 3、照片人臉核身(權(quán)威庫(kù)):

調(diào)用成本

百度云身份證識(shí)別

調(diào)用成本

相關(guān)結(jié)合點(diǎn)

核心代碼

實(shí)現(xiàn)調(diào)用人臉核身API的示例?

實(shí)現(xiàn)調(diào)用身份證識(shí)別API的示例?

小結(jié)


騰訊云人臉核身技術(shù)

根據(jù)騰訊云的官方介紹,其慧眼人臉核身是一組對(duì)用戶身份信息真實(shí)性進(jìn)行驗(yàn)證審核的服務(wù)套件,提供人臉核身、身份信息核驗(yàn)、銀行卡要素核驗(yàn)和運(yùn)營(yíng)商類要素核驗(yàn)等各類實(shí)名信息認(rèn)證能力,以解決行業(yè)內(nèi)大量對(duì)用戶身份信息核實(shí)的需求。

Craneoffice.net 采用的識(shí)別方式

由于其產(chǎn)品眾多,考慮一些綜合因素,我們?cè)?Craneoffice.net 架構(gòu)里主要實(shí)現(xiàn)以下三種識(shí)別方式:

? ? ? ? 1、活體人臉核身(權(quán)威庫(kù)):

? ? ? ? ?流程為通過(guò)錄制一段人臉活體靜態(tài)視頻,與大數(shù)據(jù)權(quán)威庫(kù)身份證信息進(jìn)行比對(duì),判斷是否為 同一人。

? ? ? ? 2、活體人臉比對(duì):

? ? ? ? ?流程為通過(guò)上傳正確、清晰的身份證正面圖片,截取頭像圖片,再通過(guò)錄制人臉活體靜態(tài)視頻進(jìn)行比對(duì),判斷是否為同一人。

? ? ? ? 3、照片人臉核身(權(quán)威庫(kù)):

? ? ? ? ?流程為上傳正確的身份證正面圖片,截取頭像圖片,傳遞身份證號(hào)與姓名,與大數(shù)據(jù)權(quán)威庫(kù)身份證信息進(jìn)行比對(duì),判斷是否為同一人。

調(diào)用成本

申請(qǐng)開(kāi)發(fā)賬號(hào)及具體費(fèi)用情況請(qǐng)?jiān)L問(wèn)騰訊云人臉核身產(chǎn)品首頁(yè):

https://cloud.tencent.com/act/pro/huiyandiscount

我們的產(chǎn)品調(diào)用成本如下表,可參照一下比例,在此僅供參考:

識(shí)別方式 調(diào)用成功的成本
活體人臉核身(權(quán)威庫(kù)) 1元 / 每次
活體人臉比對(duì) 0.15元 / 每次
照片人臉核身(權(quán)威庫(kù)) 1元 / 每次

總之,在騰訊云商城購(gòu)買越大的產(chǎn)品包調(diào)用成本越低,如果有優(yōu)惠活動(dòng)則更為合適。

百度云身份證識(shí)別

其官方宣傳可以結(jié)構(gòu)化識(shí)別二代居民身份證正反面所有8個(gè)字段,識(shí)別準(zhǔn)確率超過(guò)99%;支持識(shí)別混貼身份證,適用于同一張圖上有多張身份證正反面的場(chǎng)景;支持檢測(cè)身份證正面頭像,并返回頭像切片的base64編碼及位置信息,其具體詳細(xì)產(chǎn)品介紹請(qǐng)?jiān)L問(wèn)如下地址:

https://ai.baidu.com/tech/ocr_cards/idcard

調(diào)用成本

我們使用的是企業(yè)申請(qǐng),一個(gè)月應(yīng)該可以享受2000次免費(fèi)調(diào)用,后期調(diào)用應(yīng)該是0.02元左右每次,具體可參照:

https://ai.baidu.com/ai-doc/OCR/fk3h7xune#%E8%BA%AB%E4%BB%BD%E8%AF%81%E8%AF%86%E5%88%AB

相關(guān)結(jié)合點(diǎn)

在人臉核身方面,雖然我們可以直接提供身份證號(hào)、姓名、自拍摳圖的頭像BASE64編碼等參數(shù)傳遞給騰訊云識(shí)別接口,但考慮到實(shí)際應(yīng)用場(chǎng)景中,更加規(guī)范、有效的驗(yàn)證有助于提升應(yīng)用程序數(shù)據(jù)的質(zhì)量和精準(zhǔn)性,也更加保障了識(shí)別結(jié)果的準(zhǔn)確性。

因此身份證的識(shí)別功能和人臉核身功能即可以單獨(dú)獨(dú)立運(yùn)行,又可以利用產(chǎn)品特性相結(jié)合,實(shí)現(xiàn)數(shù)據(jù)采集、校驗(yàn)的雙保險(xiǎn)。

具體流程如下圖:

C# 基于騰訊云人臉核身和百度云證件識(shí)別技術(shù)相結(jié)合的 API 實(shí)現(xiàn),1024程序員節(jié),c#,百度云,騰訊云,開(kāi)發(fā)語(yǔ)言,windows,后端

核心代碼

實(shí)現(xiàn)調(diào)用人臉核身API的示例?

該示例代碼以上小節(jié)的介紹的三種識(shí)別方式實(shí)現(xiàn),僅供參考:

//定義人臉識(shí)別類
            public class FaceR
            {
                public string ResultJson = "";   //記錄返回 json 結(jié)果
                public string apiurl = "faceid.tencentcloudapi.com"; //騰訊人臉識(shí)別API地址
                public string debuginfo = "";  //調(diào)試信息
                public string ErrorMessage = "";  //錯(cuò)誤信息
                string[] signHeaders = null;      //頭部簽名數(shù)組
                
                public FaceR()
                {
                }

//活體人臉核身方法,參數(shù)為身份證號(hào);檢驗(yàn)類型,這里傳固定值 SILENT;姓名;活體的靜態(tài)視頻編碼;方法返回相似度值等信息
                public string LivenessRecognition(string IdCard,string LivenessType,string Name,string VideoBase64)
                {
                    string content = "{  \"IdCard\":\"" + IdCard + "\",\"LivenessType\":\"" + LivenessType + "\", \"Name\":\"" + Name + "\" ,\"VideoBase64\":\"" + VideoBase64 + "\"}";
                    // 密鑰參數(shù)
                    string SECRET_ID = 你申請(qǐng)的ID
                    string SECRET_KEY = 你申請(qǐng)的KEY

                    string service = "faceid";
                    string endpoint = "faceid.tencentcloudapi.com";
                    string region = "ap-guangzhou";
                    string action = "LivenessRecognition";
                    string version = "2018-03-01";

                    // 注意時(shí)區(qū),建議此時(shí)間統(tǒng)一采用UTC時(shí)間戳,否則容易出錯(cuò)
                    DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1551113065);
                    date = DateTime.UtcNow;
                    string requestPayload = content;

                    Dictionary<string, string> headers = BuildHeaders(SECRET_ID, SECRET_KEY, service
                        , endpoint, region, action, version, date, requestPayload);

                    string rv = "POST https://faceid.tencentcloudapi.com\n";
                    ArrayList hs = new ArrayList();
                    foreach (KeyValuePair<string, string> kv in headers)
                    {
                        rv += (kv.Key + ": " + kv.Value) + "\n";
                        hs.Add(kv.Key + ": " + kv.Value);
                    }
                    rv += "\n";
                    hs.Add("");
                    rv += requestPayload + "\n";
                    string[] hss = new string[hs.Count];
                    debuginfo = "";
                    for (int i = 0; i < hs.Count; i++)
                    {
                        hss[i] = hs[i].ToString();
                        debuginfo += hss[i] + "\r\n";
                    }
                    signHeaders = hss;
                    string rvs = "";
                    rvs=GetResponseResult("https://faceid.tencentcloudapi.com", Encoding.UTF8, "POST",content, signHeaders);
                    return rvs;
                }



//活體人臉比對(duì)方法,參數(shù)為傳遞檢驗(yàn)類型,這里傳固定值 SILEN;身份證頭像圖片編碼;活體的靜態(tài)視頻編碼,方法返回相似度值等信息
                public string LivenessCompare(string LivenessType, string ImageBase64, string VideoBase64)
                {
                    string content = "{ \"LivenessType\":\"" + LivenessType + "\", \"ImageBase64\":\"" + ImageBase64 + "\" ,\"VideoBase64\":\"" + VideoBase64 + "\"}";
                    // 密鑰參數(shù)
                    string SECRET_ID = 你申請(qǐng)的ID
                    string SECRET_KEY = 你申請(qǐng)的KEY

                    string service = "faceid";
                    string endpoint = "faceid.tencentcloudapi.com";
                    string region = "ap-guangzhou";
                    string action = "LivenessCompare";
                    string version = "2018-03-01";

                    // 注意時(shí)區(qū),建議此時(shí)間統(tǒng)一采用UTC時(shí)間戳,否則容易出錯(cuò)
                    DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1551113065);
                    date = DateTime.UtcNow;
                    string requestPayload = content;

                    Dictionary<string, string> headers = BuildHeaders(SECRET_ID, SECRET_KEY, service
                        , endpoint, region, action, version, date, requestPayload);

                    string rv = "POST https://faceid.tencentcloudapi.com\n";
                    ArrayList hs = new ArrayList();
                    foreach (KeyValuePair<string, string> kv in headers)
                    {
                        rv += (kv.Key + ": " + kv.Value) + "\n";
                        hs.Add(kv.Key + ": " + kv.Value);
                    }
                    rv += "\n";
                    hs.Add("");
                    rv += requestPayload + "\n";
                    string[] hss = new string[hs.Count];
                    debuginfo = "";
                    for (int i = 0; i < hs.Count; i++)
                    {
                        hss[i] = hs[i].ToString();
                        debuginfo += hss[i] + "\r\n";
                    }
                    signHeaders = hss;
                    string rvs = "";
                    rvs = GetResponseResult("https://faceid.tencentcloudapi.com", Encoding.UTF8, "POST", content, signHeaders);
                    return rvs;
                }



//照片人臉核身方法,參數(shù)傳遞身份證號(hào);姓名;截取的身份證頭像圖片編碼;方法返回相似度值等信息
                public string ImageRecognition(string IdCard,string Name, string ImageBase64)
                {
                    string content = "{ \"IdCard\":\"" + IdCard + "\", \"Name\":\"" + HttpUtility.UrlDecode(Name, Encoding.UTF8) + "\" ,\"ImageBase64\":\"" + ImageBase64 + "\"}";
                    // 密鑰參數(shù)
                    string SECRET_ID = 你申請(qǐng)的ID
                    string SECRET_KEY = 你申請(qǐng)的KEY

                    string service = "faceid";
                    string endpoint = "faceid.tencentcloudapi.com";
                    string region = "ap-guangzhou";
                    string action = "ImageRecognition";
                    string version = "2018-03-01";

                    // 注意時(shí)區(qū),建議此時(shí)間統(tǒng)一采用UTC時(shí)間戳,否則容易出錯(cuò)
                    DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1551113065);
                    date = DateTime.UtcNow;
                    string requestPayload = content;

                    Dictionary<string, string> headers = BuildHeaders(SECRET_ID, SECRET_KEY, service
                        , endpoint, region, action, version, date, requestPayload);

                    string rv = "POST https://faceid.tencentcloudapi.com\n";
                    ArrayList hs = new ArrayList();
                    foreach (KeyValuePair<string, string> kv in headers)
                    {
                        rv += (kv.Key + ": " + kv.Value) + "\n";
                        hs.Add(kv.Key + ": " + kv.Value);
                    }
                    rv += "\n";
                    hs.Add("");
                    rv += requestPayload + "\n";
                    string[] hss = new string[hs.Count];
                    debuginfo = "";
                    for (int i = 0; i < hs.Count; i++)
                    {
                        hss[i] = hs[i].ToString();
                        debuginfo += hss[i] + "\r\n";
                    }
                    signHeaders = hss;
                    string rvs = "";
                    rvs = GetResponseResult("https://faceid.tencentcloudapi.com", Encoding.UTF8, "POST", content, signHeaders);
                    return rvs;
                }

                //SHA256Hex算法
                public static string SHA256Hex(string s)
                {
                    using (SHA256 algo = SHA256.Create())
                    {
                        byte[] hashbytes = algo.ComputeHash(Encoding.UTF8.GetBytes(s));
                        StringBuilder builder = new StringBuilder();
                        for (int i = 0; i < hashbytes.Length; ++i)
                        {
                            builder.Append(hashbytes[i].ToString("x2"));
                        }
                        return builder.ToString();
                    }
                }
               

                //HMAC-SHA256算法
                public static byte[] HmacSHA256(byte[] key, byte[] msg)
                {
                    using (HMACSHA256 mac = new HMACSHA256(key))
                    {
                        return mac.ComputeHash(msg);
                    }
                }


                //構(gòu)造頭部簽名
                public static Dictionary<String, String> BuildHeaders(string secretid,
                    string secretkey, string service, string endpoint, string region,
                    string action, string version, DateTime date, string requestPayload)
                {
                    string datestr = date.ToString("yyyy-MM-dd");
                    DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                    long requestTimestamp = (long)Math.Round((date - startTime).TotalMilliseconds, MidpointRounding.AwayFromZero) / 1000;
                    // ************* 步驟 1:拼接規(guī)范請(qǐng)求串 *************
                    string algorithm = "TC3-HMAC-SHA256";
                    string httpRequestMethod = "POST";
                    string canonicalUri = "/";
                    string canonicalQueryString = "";
                    string contentType = "application/json";
                    string canonicalHeaders = "content-type:" + contentType + "; charset=utf-8\n"
                        + "host:" + endpoint + "\n"
                        + "x-tc-action:" + action.ToLower() + "\n";
                    string signedHeaders = "content-type;host;x-tc-action";
                    string hashedRequestPayload = SHA256Hex(requestPayload);
                    string canonicalRequest = httpRequestMethod + "\n"
                        + canonicalUri + "\n"
                        + canonicalQueryString + "\n"
                        + canonicalHeaders + "\n"
                        + signedHeaders + "\n"
                        + hashedRequestPayload;
                    Console.WriteLine(canonicalRequest);

                    // ************* 步驟 2:拼接待簽名字符串 *************
                    string credentialScope = datestr + "/" + service + "/" + "tc3_request";
                    string hashedCanonicalRequest = SHA256Hex(canonicalRequest);
                    string stringToSign = algorithm + "\n"
                        + requestTimestamp.ToString() + "\n"
                        + credentialScope + "\n"
                        + hashedCanonicalRequest;
                    Console.WriteLine(stringToSign);

                    // ************* 步驟 3:計(jì)算簽名 *************
                    byte[] tc3SecretKey = Encoding.UTF8.GetBytes("TC3" + secretkey);
                    byte[] secretDate = HmacSHA256(tc3SecretKey, Encoding.UTF8.GetBytes(datestr));
                    byte[] secretService = HmacSHA256(secretDate, Encoding.UTF8.GetBytes(service));
                    byte[] secretSigning = HmacSHA256(secretService, Encoding.UTF8.GetBytes("tc3_request"));
                    byte[] signatureBytes = HmacSHA256(secretSigning, Encoding.UTF8.GetBytes(stringToSign));
                    string signature = BitConverter.ToString(signatureBytes).Replace("-", "").ToLower();
                    Console.WriteLine(signature);

                    // ************* 步驟 4:拼接 Authorization *************
                    string authorization = algorithm + " "
                        + "Credential=" + secretid + "/" + credentialScope + ", "
                        + "SignedHeaders=" + signedHeaders + ", "
                        + "Signature=" + signature;
                    Console.WriteLine(authorization);

                    Dictionary<string, string> headers = new Dictionary<string, string>();
                    headers.Add("Authorization", authorization);
                    headers.Add("Host", endpoint);
                    headers.Add("Content-Type", contentType + "; charset=utf-8");
                    headers.Add("X-TC-Timestamp", requestTimestamp.ToString());
                    headers.Add("X-TC-Version", version);
                    headers.Add("X-TC-Action", action);
                    headers.Add("X-TC-Region", region);
                    return headers;
                }





                //調(diào)用API地址,傳遞參數(shù)并獲取返回值的通用方法
                public string GetResponseResult(string url, System.Text.Encoding encoding, string method, string postData, string[] headers, string ContentType = "application/x-www-form-urlencoded")
                {
                    method = method.ToUpper();
                    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;
                    if (method == "GET")
                    {
                        try
                        {
                            WebRequest request2 = WebRequest.Create(@url);
                            request2.Method = method;
                            WebResponse response2 = request2.GetResponse();
                            Stream stream = response2.GetResponseStream();
                            StreamReader reader = new StreamReader(stream, encoding);
                            string content = reader.ReadToEnd();
                            return content;
                        }
                        catch (Exception ex)
                        {
                            ErrorMessage = ex.Message;
                            return "";
                        }

                    }
                    Stream outstream = null;
                    Stream instream = null;
                    StreamReader sr = null;
                    HttpWebResponse response = null;
                    HttpWebRequest request = null;
                    byte[] data = encoding.GetBytes(postData);
                    // 準(zhǔn)備請(qǐng)求...
                    try
                    {
                        // 設(shè)置參數(shù)
                        request = WebRequest.Create(url) as HttpWebRequest;
                        CookieContainer cookieContainer = new CookieContainer();
                        request.CookieContainer = cookieContainer;
                        request.AllowAutoRedirect = true;
                        request.Method = method;
                        debuginfo = headers.GetLength(0).ToString()+"\r\n";
                        if (headers != null)
                        {
                            for (int i = 0; i < headers.GetLength(0); i++)
                            {
                                if (headers[i].Split(':').Length < 2)
                                {
                                    continue;
                                }
                                debuginfo += i.ToString()+headers[i]+"\r\n";

                                if (headers[i].Split(':').Length > 1)
                                {
                                    if (headers[i].Split(':')[0] == "Host")
                                    {
                                        request.Host = headers[i].Split(':')[1].Trim();
                                        continue;
                                    }
                                    else if (headers[i].Split(':')[0] == "Content-Type")
                                    {
                                        request.ContentType = headers[i].Split(':')[1].Trim();
                                        ContentType = headers[i].Split(':')[1].Trim();
                                        continue;
                                    }
                                }
                                request.Headers.Add(headers[i].Trim());
                            }
                            debuginfo += "sd2" + "\r\n";

                        }
                        request.ContentType = ContentType;
                        request.ContentLength = data.Length;
                        outstream = request.GetRequestStream();
                        outstream.Write(data, 0, data.Length);
                        outstream.Close();
                        //發(fā)送請(qǐng)求并獲取相應(yīng)回應(yīng)數(shù)據(jù)
                        response = request.GetResponse() as HttpWebResponse;
                        //直到request.GetResponse()程序才開(kāi)始向目標(biāo)網(wǎng)頁(yè)發(fā)送Post請(qǐng)求
                        instream = response.GetResponseStream();
                        sr = new StreamReader(instream, encoding);
                        //返回結(jié)果網(wǎng)頁(yè)(html)代碼
                        string content = sr.ReadToEnd();
                        return content;
                    }
                    catch (Exception ex)
                    {
                        ErrorMessage = ex.Message;
                        return "";
                    }
                }//get response result

            }

實(shí)現(xiàn)調(diào)用身份證識(shí)別API的示例?

                public class IdCard
                {
                    public string name = "";        //姓名
                    public string sex = "";         //性別
                    public string photo_base64 = "";    //截取的身份證頭像圖像的編碼值 
                    public string nation = "";       //民族
                    public string address = "";      //住址
                    public string IDNumber = "";      //身份證號(hào)
                    public string birthday = "";      //生日
                    public string org = "";           //發(fā)證機(jī)關(guān)
                    public string startDate = "";      //有效期起
                    public string endDate = "";        //有效期止
                    public string ResultJson = "";     //記錄返回的JSON值
                    public string ErrorMessage = "";   //記錄錯(cuò)誤信息
                    public string direction = "";        //上傳時(shí)圖片的方向
                    public string image_status = "";     //上傳圖片的識(shí)別狀態(tài)
                    public string risk_type = "";        //上傳圖片的識(shí)別類型
                    public string edit_tool = "";        //上傳圖片是否P圖
                    public string idcard_number_type = "";   //上傳圖片的識(shí)別錯(cuò)誤信息
                    public IdCard()
                    {
                    }

                    //得到指定文件的 byte[],參數(shù)為文件絕對(duì)路徑值
                    private  byte[] getImageByte(string imagePath)
                    {
                        FileStream files = new FileStream(imagePath, FileMode.Open);
                        byte[] imgByte = new byte[files.Length];
                        files.Read(imgByte, 0, imgByte.Length);
                        files.Close();
                        return imgByte;
                    }


               //識(shí)別身份證信息方法,參數(shù)為文件絕對(duì)路徑值;正反面值:正面?zhèn)?front,反面?zhèn)?back
                    public void valid(string imagePath, string id_card_side)
                    {
                         name = "";
                         sex = "";
                         photo_base64 = "";
                         nation = "";
                         address = "";
                         IDNumber = "";
                         birthday = "";
                         org = "";
                         startDate = "";
                         endDate = "";
                        direction="";
                        image_status = "";
                        risk_type = "";
                        edit_tool = "";
                        idcard_number_type = "";
                        byte[] image = getImageByte(imagePath);
                        var APP_ID = 申請(qǐng)的開(kāi)發(fā)ID;
                        var API_KEY = 申請(qǐng)的開(kāi)發(fā)KEY;
                        var SECRET_KEY = 開(kāi)發(fā)密鑰;

                        var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);

                        client.Timeout = 60000;  // 修改超時(shí)時(shí)間
                        Newtonsoft.Json.Linq.JObject result = new JObject();
                        var options = new Dictionary<string, object>{
                        {"detect_risk", "true"},
	                    {"detect_direction", "true"},
	                    {"detect_photo", "true"}
    	                };
                        try
                        {
                            result = client.Idcard(image, id_card_side, options);
                            ResultJson = result.ToString();
                            if (id_card_side == "front")
                            {
                                name = result["words_result"]["姓名"]["words"].ToString();
                                sex = result["words_result"]["性別"]["words"].ToString();
                                nation = result["words_result"]["民族"]["words"].ToString();
                                address = result["words_result"]["住址"]["words"].ToString();
                                IDNumber = result["words_result"]["公民身份號(hào)碼"]["words"].ToString();
                                photo_base64 = result["photo"].ToString();
                                birthday = result["words_result"]["出生"]["words"].ToString();
                                birthday = birthday.Substring(0, 4) + "-" + birthday.Substring(4, 2) + "-" + birthday.Substring(6, 2);
                            }
                            if (id_card_side == "back")
                            {
                                org = result["words_result"]["簽發(fā)機(jī)關(guān)"]["words"].ToString();
                                startDate = result["words_result"]["簽發(fā)日期"]["words"].ToString();
                                startDate = startDate.Substring(0, 4) + "-" + startDate.Substring(4, 2) + "-" + startDate.Substring(6, 2);
                                endDate = result["words_result"]["失效日期"]["words"].ToString();
                                endDate = endDate.Substring(0, 4) + "-" + endDate.Substring(4, 2) + "-" + endDate.Substring(6, 2);
                            }
                            direction = result["direction"].ToString();
                            switch (direction)
                            {
                                case "-1":
                                    direction = "未定義";
                                    break;
                                case "0":
                                    direction = "正向";
                                    break;
                                case "1":
                                    direction = "逆時(shí)針90度";
                                    break;
                                case "2":
                                    direction = "逆時(shí)針180度";
                                    break;
                                case "3":
                                    direction = "逆時(shí)針270度";
                                    break;

                            }
                            image_status = result["image_status"].ToString();
                            switch (image_status)
                            {
                                case "normal":
                                    image_status = "識(shí)別正常";
                                    break;
                                case "reversed_side":
                                    image_status = "身份證正反面顛倒";
                                    break;
                                case "non_idcard":
                                    image_status = "上傳的圖片中不包含身份證";
                                    break;
                                case "blurred":
                                    image_status = "身份證模糊";
                                    break;
                                case "other_type_card":
                                    image_status = "其他類型證照";
                                    break;
                                case "over_exposure":
                                    image_status = "身份證關(guān)鍵字段反光或過(guò)曝";
                                    break;
                                case "over_dark":
                                    image_status = "身份證欠曝(亮度過(guò)低)";
                                    break;
                                case "unknown":
                                    image_status = "未知狀態(tài)";
                                    break;

                            }
                            risk_type = result["risk_type"].ToString();
                            switch (risk_type)
                            {
                                case "normal":
                                    risk_type = "正常身份證";
                                    break;
                                case "copy":
                                    risk_type = "復(fù)印件";
                                    break;
                                case "temporary":
                                    risk_type = "臨時(shí)身份證";
                                    break;
                                case "screen":
                                    risk_type = "翻拍";
                                    break;
                                case "unknown":
                                    risk_type = "其他未知情況";
                                    break;

                            }
                            if (ResultJson.IndexOf("edit_tool") != -1)
                            {
                                edit_tool = result["edit_tool"].ToString();
                            }
                            else
                            {
                                edit_tool = "未P圖";
                            }
                            if (ResultJson.IndexOf("idcard_number_type") != -1)
                            {
                                idcard_number_type = result["idcard_number_type"].ToString();
                                switch (idcard_number_type)
                                {
                                    case "-1":
                                        idcard_number_type = "身份證正面所有字段全為空";
                                        break;
                                    case "0":
                                        idcard_number_type = "身份證證號(hào)識(shí)別錯(cuò)誤";
                                        break;
                                    case "1":
                                        idcard_number_type = "身份證證號(hào)和性別、出生信息一致";
                                        break;
                                    case "2":
                                        idcard_number_type = "身份證證號(hào)和性別、出生信息都不一致";
                                        break;
                                    case "3":
                                        idcard_number_type = "身份證證號(hào)和出生信息不一致";
                                        break;
                                    case "4":
                                        idcard_number_type = "身份證證號(hào)和性別信息不一致";
                                        break;

                                }
                            }
                        }
                        catch (Exception e)
                        {
                            ErrorMessage = e.Message;
                        }
                    }
                  }// idcard

小結(jié)

采用哪種識(shí)別方式,要根據(jù)我們?cè)趯?shí)際的應(yīng)用場(chǎng)景中進(jìn)行選擇,而且也需要考慮調(diào)用的成本(本文涉及的調(diào)用成本僅供參考)。這里講述的幾種方案是我們自研產(chǎn)品中所采用的方式,騰訊云的人臉核身產(chǎn)品分支很多,大家可以根據(jù)具體需求進(jìn)行選擇、擴(kuò)充自己的產(chǎn)品功能。

再次感謝您的閱讀,歡迎大家討論指正。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-715300.html

到了這里,關(guān)于C# 基于騰訊云人臉核身和百度云證件識(shí)別技術(shù)相結(jié)合的 API 實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于Springboot+百度AI人工智能人臉識(shí)別考勤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于Springboot+百度AI人工智能人臉識(shí)別考勤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于Springboot+百度AI人工智能人臉識(shí)別考勤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) ?博主介紹: 《Vue.js入門與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi)

    2024年02月05日
    瀏覽(99)
  • 基于java和百度智能AI的人臉識(shí)別考勤簽到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于java和百度智能AI的人臉識(shí)別考勤簽到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi) 項(xiàng)目配有對(duì)應(yīng)開(kāi)發(fā)文檔、開(kāi)題報(bào)告、任務(wù)書、

    2024年02月05日
    瀏覽(28)
  • JAVA基于百度AI接口的人臉識(shí)別考勤簽到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(Springboot框架)

    JAVA基于百度AI接口的人臉識(shí)別考勤簽到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(Springboot框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi) 項(xiàng)目配有對(duì)應(yīng)開(kāi)發(fā)文檔、開(kāi)題報(bào)告、任務(wù)書、

    2024年02月04日
    瀏覽(33)
  • 基于java框架百度AI接口人臉識(shí)別考勤簽到系統(tǒng) (springboot框架)開(kāi)題答辯常規(guī)問(wèn)題和如何回答

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi) 項(xiàng)目配有對(duì)應(yīng)開(kāi)發(fā)文檔、開(kāi)題報(bào)告、任務(wù)書、

    2024年01月17日
    瀏覽(32)
  • C#實(shí)戰(zhàn):基于騰訊OCR技術(shù)實(shí)現(xiàn)企業(yè)證書識(shí)別和數(shù)據(jù)提取實(shí)踐

    C#實(shí)戰(zhàn):基于騰訊OCR技術(shù)實(shí)現(xiàn)企業(yè)證書識(shí)別和數(shù)據(jù)提取實(shí)踐

    在當(dāng)今數(shù)字化時(shí)代,OCR(Optical Character Recognition)識(shí)別技術(shù)正發(fā)揮著越來(lái)越重要的作用。OCR技術(shù)通過(guò)將圖像中的文字轉(zhuǎn)化為可編輯的文本形式,實(shí)現(xiàn)了對(duì)大量紙質(zhì)文檔的數(shù)字化處理和信息提取。常見(jiàn)的有企業(yè)資質(zhì)證書的識(shí)別到身份證、護(hù)照等各類證件的自動(dòng)識(shí)別等方面,OCR技

    2024年02月10日
    瀏覽(22)
  • SpringBoot集成百度人臉識(shí)別

    SpringBoot集成百度人臉識(shí)別

    ? 人臉識(shí)別 (Face Recognition)基于圖像或視頻中的人臉檢測(cè)、分析和比對(duì)技術(shù),提供對(duì)您已獲授權(quán)前提下的私有數(shù)據(jù)的人臉檢測(cè)與屬性分析、人臉對(duì)比、人臉?biāo)阉鳌⒒铙w檢測(cè)等能力。靈活應(yīng)用于金融、泛安防、零售等行業(yè)場(chǎng)景,滿足身份核驗(yàn)、人臉考勤、閘機(jī)通行等業(yè)務(wù)需求

    2024年02月11日
    瀏覽(23)
  • 百度云【人臉識(shí)別】

    百度云【人臉識(shí)別】

    目錄 1:百度云【人臉識(shí)別云服務(wù)】 2:Java-SDK文檔 3:項(xiàng)目中測(cè)試 人臉識(shí)別云服務(wù) 包含實(shí)名認(rèn)證、人臉對(duì)比、人臉?biāo)阉?、活體檢測(cè)等能力。靈活應(yīng)用于金融、泛安防等行業(yè)場(chǎng)景,滿足身份核驗(yàn)、人臉考勤、閘機(jī)通行等業(yè)務(wù)需求 ? ? ? ? ? ? ? ? ? ? 全線免費(fèi)試用 公有云API最

    2024年02月13日
    瀏覽(20)
  • SpringBoot整合百度云人臉識(shí)別功能

    SpringBoot整合百度云人臉識(shí)別功能

    首先需要在百度智能云官網(wǎng)中創(chuàng)建應(yīng)用,獲取 AppID,API Key,Secret Key 官網(wǎng)地址:https://console.bce.baidu.com/ 添加以下依賴即可。其中版本號(hào)可在 maven 官網(wǎng)查詢 便于后面去獲取值 AipFace 是人臉識(shí)別的 Java 客戶端,為使用人臉識(shí)別的開(kāi)發(fā)人員提供了一系列的交互方法。初始化完成后

    2024年02月06日
    瀏覽(32)
  • SpringBoot+Vue項(xiàng)目添加騰訊云人臉識(shí)別

    人臉識(shí)別是一種基于人臉特征進(jìn)行身份認(rèn)證和識(shí)別的技術(shù)。它使用計(jì)算機(jī)視覺(jué)和模式識(shí)別的方法,通過(guò)分析圖像或視頻中的人臉特征,例如臉部輪廓、眼睛、鼻子、嘴巴等,來(lái)驗(yàn)證一個(gè)人的身份或識(shí)別出他們是誰(shuí)。 人臉識(shí)別可以應(yīng)用在多個(gè)領(lǐng)域,包括安全領(lǐng)域、訪問(wèn)控制系統(tǒng)

    2024年02月11日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包