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

📅  最后修改于: 2023-12-03 15:37:38.721000             🧑  作者: Mango

在Python使用 Microsoft 情感 API 获取图像的情感

微软提供了一种称为 Microsoft 情感 API 的服务,它可以分析文本和图像中的情感。在本文中,我们将介绍如何使用 Microsoft 情感 API 分析图像的情感,使用 Python 编程语言和相应的库。

步骤
1. 获取 Microsoft 情感 API 密钥

要使用 Microsoft 情感 API,您需要注册并获得 API 密钥。访问 Microsoft 的 Azure 门户,登录您的账户,然后选择“订阅”、选择“Add”、输入“Emotion API”、输入相应信息后生成相应密钥。

2. 安装必要的库

要使用 Microsoft 情感 API,您需要安装 Python 库。运行以下命令安装所需的库:

pip install azure-cognitiveservices-vision-face
3. 调用 Microsoft 情感 API

在 Python 中调用 Microsoft 情感 API 非常容易。首先,您需要创建一个客户端对象,并提供所需的密钥和终结点:

from azure.cognitiveservices.vision.face import FaceClient
from msrest.authentication import CognitiveServicesCredentials

KEY = '<YOUR_API_KEY>'
ENDPOINT = 'https://<REGION>.api.cognitive.microsoft.com/'

face_client = FaceClient(ENDPOINT, CognitiveServicesCredentials(KEY))

其中,<YOUR_API_KEY> 是您的 Microsoft 情感 API 密钥,<REGION> 是您的 API 终结点的区域。

接下来,您可以使用 detect_with_url() 方法来分析图像的情感:

image_url = 'https://<IMAGE_URL>'
attributes = ['emotion']
faces = face_client.face.detect_with_url(image_url, return_face_attributes=attributes)

其中,<IMAGE_URL> 是图像的 URL,['emotion'] 指定我们只想获取情感属性。

最后,您可以使用以下代码打印出图像中检测到的情感:

for face in faces:
    print('Emotions detected:')
    print(f'Anger: {face.face_attributes.emotion.anger}')
    print(f'Contempt: {face.face_attributes.emotion.contempt}')
    print(f'Disgust: {face.face_attributes.emotion.disgust}')
    print(f'Fear: {face.face_attributes.emotion.fear}')
    print(f'Happiness: {face.face_attributes.emotion.happiness}')
    print(f'Neutral: {face.face_attributes.emotion.neutral}')
    print(f'Sadness: {face.face_attributes.emotion.sadness}')
    print(f'Surprise: {face.face_attributes.emotion.surprise}')

这将打印出图像中检测到的每个面孔的情感。

结论

在本文中,我们介绍了如何使用 Microsoft 情感 API 在 Python 中分析图像的情感。通过遵循上述步骤,您可以轻松地使用 Microsoft 情感 API 对图像进行情感分析,并获得有关每个面孔的情感的实用信息。