微软认知:情感 API

Microsoft-Cognitive : Emotion API

拨打情绪api后得到如下回复。我怎样才能拥有一个只获得幸福分数的变量?我想要像 data=happiness 这样的东西,然后我就可以打印数据了。

{
    "FaceRectangle": {
      "Top": 141,
      "Left": 331,
      "Width": 52,
      "Height": 52
    },
    "Scores": {
      "Anger": 0.002451766,
      "Contempt": 0.0005512201,
      "Disgust": 0.0063303886,
      "Fear": 0.000122375583,
      "Happiness": 0.9589189,
      "Neutral": 0.0222537462,
      "Sadness": 0.008983561,
      "Surprise": 0.000388026354
    }
}

这是python代码

import http.client, urllib.request, urllib.parse, urllib.error, base64, sys

headers = {
    # Request headers. Replace the placeholder key below with your subscription key.
    'Content-Type': 'application/octet-stream',
    'Ocp-Apim-Subscription-Key': '**************************',
}

params = urllib.parse.urlencode({


        })

body = open('clouds.jpg','rb').read()

try:
    conn = http.client.HTTPSConnection('westus.api.cognitive.microsoft.com')
    conn.request("POST", "/emotion/v1.0/recognize?%s" % params, body, headers)

    response = conn.getresponse()
    data = response.read()
    print(data)

    conn.close()

除了异常为 e: 打印(e.args)

@falsetru 是正确的,但你应该注意 Emotion API

  • Returns 一组面孔,即使只有一个面孔,并且
  • 字段名称将采用驼峰式大小写,这与您添加的代码段不同
import requests

body = {'url':'YOUR-IMAGE-URL'}
headers = {
  'Content-Type': 'application/json',
  'Ocp-Apim-Subscription-Key': 'YOUR-KEY'
}
req = requests.post('https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize', headers=headers, data=str(body))
faces = req.json()
for face in faces:
   print face['scores']['happiness']