빠른 시작: 이미지에서 얼굴의 감정을 인식하기 위한 앱을 빌드합니다.Quickstart: Build an app to recognize emotions on faces in an image.

중요

Emotion API는 2019년 2월 15일부터 더 이상 사용되지 않습니다.The Emotion API will be deprecated on February 15, 2019. 이제 감정 인식 기능은 Face API의 일부로 일반 공급됩니다.The emotion recognition capability is now generally available as part of the Face API.

이 문서에서는 Emotion API Android 클라이언트 라이브러리의 Emotion Recognize 메서드를 빠르게 사용하는 데 도움이 되는 정보 및 코드 샘플을 제공합니다.This article provides information and a code sample to help you quickly get started with the Emotion Recognize method in the Emotion API Android client library. 이 샘플은 Java를 사용하여 사람이 나타내는 감정을 인식하는 방법을 보여 줍니다.The sample demonstrates how you can use Java to recognize the emotions expressed by people.

필수 조건Prerequisites

  • 여기에서 Android SDK용 Emotion API Java 가져오기Get the Emotion API Java for Android SDK here
  • 여기에서 무료 구독 키 가져오기Get your free subscription key here

Android용 감정 인식 Java 예제 요청Recognize Emotions Java for Android Example Request

// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

public class Main
{
    public static void main(String[] args)
    {
        HttpClient httpClient = new DefaultHttpClient();

        try
        {
            // NOTE: You must use the same region in your REST call as you used to obtain your subscription keys.
            //   For example, if you obtained your subscription keys from westcentralus, replace "westus" in the
            //   URL below with "westcentralus".
            URIBuilder uriBuilder = new URIBuilder("https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize");

            URI uri = uriBuilder.build();
            HttpPost request = new HttpPost(uri);

            // Request headers. Replace the example key below with your valid subscription key.
            request.setHeader("Content-Type", "application/json");
            request.setHeader("Ocp-Apim-Subscription-Key", "13hc77781f7e4b19b5fcdd72a8df7156");

            // Request body. Replace the example URL below with the URL of the image you want to analyze.
            StringEntity reqEntity = new StringEntity("{ \"url\": \"http://example.com/images/test.jpg\" }");
            request.setEntity(reqEntity);

            HttpResponse response = httpClient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null)
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

감정 인식 샘플 응답Recognize Emotions Sample Response

호출이 성공하면 얼굴 사각형 크기의 내림차순으로 얼굴 항목 및 연결된 감정 점수 배열이 반환됩니다.A successful call returns an array of face entries and their associated emotion scores, ranked by face rectangle size in descending order. 빈 응답은 검색된 얼굴이 없는 것을 나타냅니다.An empty response indicates that no faces were detected. 감정 항목에는 다음 필드가 포함됩니다.An emotion entry contains the following fields:

  • faceRectangle - 이미지에서 얼굴의 사각형 위치입니다.faceRectangle - Rectangle location of face in the image.
  • scores - 이미지의 각 얼굴에 대한 감정 점수입니다.scores - Emotion scores for each face in the image.
application/json
[
  {
    "faceRectangle": {
      "left": 68,
      "top": 97,
      "width": 64,
      "height": 97
    },
    "scores": {
      "anger": 0.00300731952,
      "contempt": 5.14648448E-08,
      "disgust": 9.180124E-06,
      "fear": 0.0001912825,
      "happiness": 0.9875571,
      "neutral": 0.0009861537,
      "sadness": 1.889955E-05,
      "surprise": 0.008229999
    }
  }
]