Предыдущая страница Типы запросов и их параметры  Получение списка групп и их содержимого Следующая страница

На странице:
 

Дополнительные условия подходят ко всем видам запросов. Условия всегда объединяются логическим «И». Например запрос «объект высотой не более четверти кадра находящийся в центре поля зрения камеры в течении 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) или движущимся (facehumangroupvehicle). В запросе нельзя смешивать 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)

Задает минимальные и максимальные ширину и высоту объекта.

Например, чтобы найти объекты не больше четверти кадра в высоту можно использовать такой запрос:

{
    "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
    }
}
  • No labels