Перейти в хранилище документации
Обратиться в техническую поддержку
Дополнительные условия подходят ко всем видам запросов. Условия всегда объединяются логическим «И». Например запрос «объект высотой не более четверти кадра находящийся в центре поля зрения камеры в течении 5 секунд» выглядит так:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "size": { "height": [0, 0.25] } }, "conditions": { "duration": 5 } }
objectProperties/category
)Объект может быть оставленным (abandoned
) или движущимся (face
, human
, group
, vehicle
). В запросе нельзя смешивать abandoned
с другими типами объектов (иначе требование abandoned
будет проигнорировано).
Поиск оставленных объектов в любой точке кадра:
{ "queryType": "zone", "figures": [ { "shape": [ [0, 0], [1, 0], [1, 1], [0, 1] ] } ], "objectProperties": { "category": ["abandoned"], } }
Поиск одиночных или небольших групп людей, пересекших заданную линию:
{ "queryType": "line", "figures": [ { "shape": [ [0.5, 0.8], [0.5, 0.2] ] } ] "objectProperties": { "category": ["human", "group"], } }
objectProperties/size
)Задает минимальные и максимальные ширину и высоту объекта.
Внимание!
Минимальные значения должны быть строго меньше 1, а максимальные - строго больше 0.
Например, чтобы найти объекты не больше четверти кадра в высоту можно использовать такой запрос:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "size": { "width": [0, 1], "height": [0, 0.25] } } }
Так как не обязательно указывать оба габарита, этот запрос будет эквивалентен предыдущему:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "size": { "height": [0, 0.25] } } }
objectProperties/color
)Задает минимальные и максимальные координаты цвета объекта в пространстве HSV. hue измеряется в градусах (от 0
до 360
), а saturation
и brightness
в долях от 0
до 1
.
Запрос на получение ярко зеленых объектов в зоне:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "color": { "hue": [75, 135], "saturation": [0.5, 1], "brightness": [0.5, 1] } } }
В пространстве HSV темные почти черные цвета могут обладать любыми тоном и насыщенностью. Поэтому для поиска черных объектов запрос должен выглядеть так:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "color": { "hue": [0, 360], "saturation": [0, 1], "brightness": [0, 0.2] } } }
Аналогичный запрос для белых объектов:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "objectProperties": { "color": { "hue": [0, 360], "saturation": [0, 0.1], "brightness": [0.8, 1] } } }
conditions/velocity
)Задает минимальную и максимальную скорость объекта.
Измеряется в долях кадра в секунду. То есть скорость объекта переместившегося от левой границы кадра к правой за одну секунду равна 1
.
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "conditions": { "velocity": [0.25, 1] } }
conditions/directions
)Задает направление движения объекта в виде массива углов. Углы измеряются в радианах и отсчитываются от оси направленной вправо по часовой стрелке.
Таким образом запрос на получение объектов двигавшихся вправо ±45°
выглядит так:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "conditions": { "directions": [ [315, 45] ] } }
Обратите внимание, что угол 45°
-- 315°
захватывает все направления кроме «вправо».
Если необходимо найти объекты двигавшиеся преимущественно в горизонтальном направлении понадобиться задать уже два угла:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "conditions": { "directions": [ [315, 45], [135, 225] ] } }
conditions/duration
)Задает время в секундах в течении которых объект должен удовлетворять всем поставленным условиям непрерывно.
С помощью этого условия может быть выражен запрос «длительное пребывание в зоне»:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "conditions": { "duration": 5 } }
condtions/count
)Задает минимальное необходимое количество объектов одновременно удовлетворяющих остальным условиям запроса.
Обычно применяется для поиска большого количества объектов в зоне, например:
{ "queryType": "zone", "figures": [ { "shape": [ [0.3, 0.3], [0.7, 0.3], [0.7, 0.7], [0.3, 0.7] ] } ], "conditions": { "count": 3 } }