zoukankan      html  css  js  c++  java
  • 微软图像分析 Face Verify REST API (2)

    女盆友,说他们公司签到,刷脸。我就告诉她,呵呵, so easy, 一局LOL 的时间,搞定人脸识别,刷到?,还能测你颜值呢!

    微软牛津计划,人脸识别, 能够验证你face,要不要???

    API portal地址:https://www.projectoxford.ai/doc/vision/visual-features

    1.首先注册一个订阅号Subscription Management:https://www.projectoxford.ai/doc/general/subscription-key-mgmt

    2. 创建一个C#的project, 添加code,

    3. 将program.cs的code用下面code替换

    class Program
        {
            static void Main(string[] args)
            {
                Verification.test();
                Console.ReadLine();
            }
            
        }
    

    3. Add a detection.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Web;
    using System.Net;
    using System.IO;
    
    namespace samplecode
    {
        public class Detection
        {
            public static void test()
            {
                DetectFace("KidBigFace.jpg");            
            }
    
            public static string DetectFace(string imagefile)
            {
                try
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.projectoxford.ai/face/v0/detections?subscription-key=***");
                    request.Method = "POST";
                    request.ContentType = "application/octet-stream"; 
                    string url = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, imagefile);
                    byte[] requestBody = LoadByteData(url);
                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(requestBody, 0, requestBody.Length);
    
                        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                        {
                            var responseString = response.GetResponseStream();
                            using (var reader = new StreamReader(responseString))
                            {
                                string result = reader.ReadToEnd();
                                Console.Write(response.StatusCode + result);
                                if (response.StatusCode == HttpStatusCode.OK)
                                {                                
                                    string[] r = result.Split('"');
                                    Console.Write(r[3]);
                                    return r[3];
                                }
                                else
                                    return "";
                            }
                        }
                    }
                }
                catch (WebException wex)
                {
                    //verify
                    var response = (HttpWebResponse)wex.Response;
                    using (var stream = wex.Response.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        Console.Write(response.StatusCode + reader.ReadToEnd());
                    }
                    return "";
                }
            }
    
            private static byte[] LoadByteData(string filePath)
            {
                FileStream file = new FileStream(filePath, FileMode.Open);
                byte[] bytes = new byte[file.Length];
                file.Read(bytes, 0, bytes.Length);
                file.Close();
                return bytes;
            }
        }
    }
    

     4. 添加 verification.cs, 图片 "Daughter2.jpg", “Daughter3.jpg”

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Web;
    using System.Net;
    using System.IO;
    
    namespace samplecode
    {
        public class Verification
        {
            public static void test()
            {
                string faceid1 = Detection.DetectFace("Daughter2.jpg");
                string faceid2 = Detection.DetectFace("Daughter3.jpg");
                try
                {
                    // initial data. 
    
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.projectoxford.ai/face/v0/verifications?subscription-key=****");
                    request.Method = "POST";
                    request.ContentType = "application/json";
    
                    string requestdata = "{"faceId1":""+faceid1+"","faceId2":""+faceid2+""}";
                    byte[] requestBody = Encoding.UTF8.GetBytes(requestdata);
                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(requestBody, 0, requestBody.Length);
    
                        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                        {
                            var responseString = response.GetResponseStream();
                            using (var reader = new StreamReader(responseString))
                            {
                                string result = reader.ReadToEnd();
                                Console.Write("
    ");
                                Console.Write(response.StatusCode + result);
    
                            }
                        }
                    }
                }
                catch (WebException wex)
                {
                    //verify
                    var response = (HttpWebResponse)wex.Response;
                    using (var stream = wex.Response.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        Console.Write(response.StatusCode + reader.ReadToEnd());
                    }
                }
            }
        }
    }
    

     4.想看看 验证的信息吗?

    你自己试试就知道了,so  easy。。。

    呵呵,高达桑 吧

  • 相关阅读:
    APP-SQLAP-10771:Could not reserve record (匹配PO时候)
    EBS常用小常识(转)
    ajax-工作原理,包含技术,缺陷
    js实现“级联菜单”
    考证
    十八大以来习主席同志关于经济工作的重要论述
    局域网使用打印机的快捷方法
    修改JRE system library
    十步完全理解SQL
    2013读书笔记
  • 原文地址:https://www.cnblogs.com/yanmantianxia/p/4667177.html
Copyright © 2011-2022 走看看