Запросы EmoDetect API

Все запросы и выдача результатов производятся в формате JSON.
Сервис доступен для опроса по HTTP протоколу через порт 31110. Регистр комманд не важен.

Например, для получения информации о камерах нужно использовать следующий запрос:

127.0.0.1:31110/getcameras
{
"cameras":
  [
    {
	 "index": 0,
	 "name": "HD USB Camera",
	 "sizes":
	 [ "1920x1280",
	 "1280x900",
	 "800x600"]
	},
	{
	 "index": 1,
	 "name": "Камера USB",
	 "sizes":
	 [ "800x600",
	 "640x480" ]
	}
  ]
}

Следующий сервис включает выбранную камеру и запускает обработку:
127.0.0.1:31110/setCamera=0&width=160&height=120

Запрос 127.0.0.1:31110/getframes выдаёт результаты распознавания:

Cтруктура ответа
Параметр Описание Значения
frame Порядковый номер кадра число
timestamp Время кадра (UTC, c 01.01.1970) число
faces Массив полученных лиц [ лицо1, ..., лицоN ]
Cтруктура "лица"
Параметр Описание Значения
id Глобальный порядковый номер лица человека, уникальный для всех камер.
Отражает количество прошедших людей с начала сессии обработки.
число
emotions Массив эмоций (от 0 до 100) ["эмоция1": 0..100,
... ,
"эмоцияN": 0..100]
x, y, w, h Координаты и размеры прямоугольника лица пиксели
fw, fh Размер обработанного кадра пиксели
roll, pitch, yaw Углы поворота головы в трёх осях градусы
points Массив координат точек лица [x,y]...[x,y]
Пример результата распознавания
127.0.0.1:31110/getframes
{
"frames": [
{
  "faces": [
  {
    "emotions": {
      "anger": 0,
	  "disgust": 0,
	  "fear": 0,
	  "happiness": 0,
	  "neutral": 98,
	  "sadness": 0,
	  "surprise": 0
	},
	"fh": 800,
	"fw": 600,
	"h": 279,
	"id": 0,
	"pitch": "0",
	"roll": "0",
	"w": 268,
	"x": 175,
	"y": 255,
	"yaw": "0"
  }
  ],
  "frame": 21,
  "timestamp": 1497965155089
}
],
"result": true
}

Пример работы

Перед началом опроса необходимо запустить программу EmoDetect и выбрать камеру в допустимом разрешении.


Получено кадров: 0