📌  相关文章
📜  在Python中使用Microsoft情感API获取图像的情感

📅  最后修改于: 2020-05-13 13:27:25             🧑  作者: Mango

出于任何开发目的,都可以使用Microsoft情感API提取图像的情感,如快乐,悲伤,中立,惊奇等。
它使用起来非常简单,可以通过终端或任何语言(如Python或PHP)通过API进行调用。Microsoft提供30天的免费订阅,总共发出30,000个请求。
端点和参数的详细信息可以在文档中找到。

# Python脚本分析图像情感
import http.client, urllib.request
import urllib.parse, urllib.error
import base64, sys
import simplejson as json
# 注册后替换为您获得的subscription_key
subscription_key = '12f29133caf4406493e81b6a31c47c1a'
headers = {
    # 请求标头。将下面的占位符替换为您的订阅密钥。
    'Content-Type': 'application/json',
    'Ocp-Apim-Subscription-Key': subscription_key,
}
params = urllib.parse.urlencode({
})
# 将下面的URL替换为您要分析的图像的URL.
url1 = 'IMAGE URL TO BE ADDED HERE'
body = { 'url': url1 }
newbody =str(body)
try:
    # 注意:您必须在REST调用中使用与用于获取订阅密钥相同的区域。例如,如果您从westcentralus获得了订阅密钥,则将下面URL中的“ westus"替换为“ westcentralus"。
    conn = http.client.HTTPSConnection('westus.api.cognitive.microsoft.com')
    conn.request("POST", "/emotion/v1.0/recognize?%s" % params, newbody, headers)
    response = conn.getresponse()
    data = response.read()
    parsed = json.loads(data)
    print ("Response:")
    print (json.dumps(parsed, sort_keys=True, indent=2))
    # 图像的情感将是从每种情感的不同分数获得的任何情感的最大值
    val = parsed[0]["scores"]
    res = max(val, key = val.get)
    print ("\nEmotion :: ",res)
    conn.close()
except Exception as e:
    print(e.args)