开发者社区 > 视觉智能 > 正文

视觉智能平台有没有C#调用SDK进行人脸表情识别的DEMO的?公司要迁移表情识别

视觉智能平台有没有C#调用SDK进行人脸表情识别的DEMO的?公司要迁移表情识别

展开
收起
真的很搞笑 2023-05-23 21:23:02 128 0
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    是的,阿里云视觉智能平台提供了针对不同编程语言和平台的SDK,包括C#语言的SDK,可以用于快速访问平台提供的API接口。您可以前往阿里云官网,下载对应的C# SDK,并参考文档进行集成。

    针对人脸表情识别,您可以调用平台提供的表情识别API来实现。下面提供一个C#示例代码供参考:

    using System;
    using System.IO;
    using System.Net;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json.Linq;
    
    namespace FaceDemo
    {
        class Program
        {
            static async Task Main(string[] args)
            {
                string url = "https://dtplus-cn-shanghai.data.aliyuncs.com/face/attribute";
    
                // 替换为您的AccessKey ID和AccessKey Secret
                string accessKeyId = "<Your AccessKey ID>";
                string accessKeySecret = "<Your AccessKey Secret>";
    
                string imageFilePath = "image.jpg";
                string imageBase64 = Convert.ToBase64String(File.ReadAllBytes(imageFilePath));
    
                string body = "{\"type\":\"1\", \"content\":\"" + imageBase64 + "\"}";
    
                string timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");
                string signature = ComputeSignature(accessKeySecret, "POST\napplication/json\nUTF-8\n" + timestamp + "\n"+ "/face/attribute\n" + body);
    
                var request = new HttpRequestMessage(HttpMethod.Post, url);
                request.Headers.Add("Authorization", "Dataplus " + accessKeyId + ":" + signature);
                request.Headers.Add("accept", "application/json");
                request.Headers.Add("x-acs-region-id", "cn-shanghai");
                request.Headers.Add("date", timestamp);
    
                var content = new StringContent(body, System.Text.Encoding.UTF8, "application/json");
                request.Content = content;
    
                var client = new HttpClient();
                var response = await client.SendAsync(request);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    var responseContent = await response.Content.ReadAsStringAsync();
                    JObject jo = JObject.Parse(responseContent);
                    var facesExpression = jo["faceList"][0]["attribute"]["emotion"];
                    var anger = facesExpression["anger"].Value<float>();
                    var disgust = facesExpression["disgust"].Value<float>();
                    var fear = facesExpression["fear"].Value<float>();
                    var happiness = facesExpression["happiness"].Value<float>();
                    var sadness = facesExpression["sadness"].Value<float>();
                    var surprise = facesExpression["surprise"].Value<float>();
                }
            }
    
            static string ComputeSignature(string accessKeySecret, string stringToSign)
            {
                var encoding = new System.Text.UTF8Encoding();
                var key = encoding.GetBytes(accessKeySecret);
                var hmacsha1 = new System.Security.Cryptography.HMACSHA1(key);
                var hashBytes = hmacsha1.ComputeHash(encoding.GetBytes(stringToSign));
    
                return Convert.ToBase64String(hashBytes);
            }
        }
    }
    

    该示例代码使用HttpClient发起了一个POST请求,将图片数据进行Base64编码后传给人脸属性分析接口(属性type为1代表分析表情),然后解析了json返回值中的表情信息。您需要自行替换您的AccessKey Id和AccessKey Secret,并修改图片路径和请求URL等信息。

    2023-05-23 22:23:29
    赞同 展开评论 打赏
  • 这里:https://next.api.aliyun.com/api/facebody/2019-12-30/RecognizeExpression?spm=a2c4g.155004.0.i0&tab=DEMO&lang=CSHARP,此回答整理自钉群“阿里云视觉智能开放平台咨询1群”

    2023-05-23 21:27:48
    赞同 展开评论 打赏

为开发者提供高易用、普惠的视觉API服务,帮助企业快速建立视觉智能技术应用能力的综合性视觉AI能力平台。适用于数字营销、互联网娱乐、安防、手机应用、泛金融身份认证等行业。

相关产品

  • 视觉智能开放平台
  • 热门讨论

    热门文章

    相关电子书

    更多
    阿里云视觉智能开放平台产品介绍 立即下载
    一个跨平台的云服务SDK需要什么 立即下载
    利用CNN实现无需联网的图像识别 立即下载