Go to documentation repository
Documentation for Axxon One 1.0.
Previous page Next page
Dodatkowe warunki mogą być dodane do wszystkich typów zapytań. Warunki są zawsze łączone z zapytaniem poprzez logiczne “AND”. Przykładowo zapytanie “obiekt o wysokości nie większej niż jedna czwarta ramki, który przebywa w polu widzenia kamery przez 5 sekund” wyglądałoby następująco:
{
"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
}
}
Typ obiektu (objectProperties/category)
Obiekt może być porzucony lub poruszający się (twarz, człowiek, grupa, pojazd). W zapytaniu typ porzucony nie może zostać umieszczony wraz z innymi typami obiektów (w innym przypadku warunek o porzuconym typie obiektu zostanie zignorowane).
Wyszukiwanie porzuconych obiektów w dowolnym punkcie ramki wygląda następująco:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0, 0],
[1, 0],
[1, 1],
[0, 1]
]
}
],
"objectProperties": {
"category": ["abandoned"],
}
}
Wyszukiwanie osoby lub małej grupy osób przekraczających linię może mieć następującą konstrukcję:
{
"queryType": "line",
"figures": [
{
"shape": [
[0.5, 0.8],
[0.5, 0.2]
]
}
]
"objectProperties": {
"category": ["human", "group"],
}
}
Wielkość obiektu (objectProperties/size)
Ustala minimalną oraz maksymalną wysokość oraz szerokość obiektu.
Uwaga!
Minimalne wartości muszą być mniejsze niż 1; maksymalne wartości muszą być większe od 0.
Przykładowo, aby wyszukać obiekty nie większe niż jedna czwarta wysokości ramki, można skorzystać z następującego zapytania:
{
"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]
}
}
}
Określenie wielkości w obu osiach nie jest wymagane; zapytanie może wyglądać także następująco:
{
"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]
}
}
}
Kolor obiektu (objectProperties/color)
Pozwala na ustalenie minimalnych oraz maksymalnych koordynat koloru obiektu w przestrzeni HSV. Odcień jest wyznaczany w stopniach (od 0 do 360), saturacja oraz jasność – w ułamkach od 0 do 1.
Zapytanie o jasnozielone obiekty w strefie może mieć następującą strukturę:
{
"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]
}
}
}
W przestrzeni HSV kolory ciemnie lub niemal czarne mogą posiadać dowolny odcień oraz saturację. Aby wyszukać czarne obiekty, zapytanie powinno wyglądać następująco:
{
"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]
}
}
}
To samo zapytanie dla białych obiektów:
{
"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]
}
}
}
Prędkość (conditions/velocity)
Określa minimalną oraz maksymalną prędkość obiektu.
Jest ona mierzona w fragmencie ramki na sekundę – prędkość poruszającego się obiektu, który przeszedł z lewego krańca ramki do prawego krańca ramki w czasie 1 sekundy to 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]
}
}
Kierunki (conditions/directions)
Określa kierunek obiektu jako tabelę kątów. Kąty są mierzone w radianach; są one zliczane z osi zwróconej na prawo zgodnie z ruchem wskazówek zegara.
Zapytanie, by zwrócić obiekty poruszające się w prawo ±45° ma następującą strukturę:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0.3, 0.3],
[0.7, 0.3],
[0.7, 0.7],
[0.3, 0.7]
]
}
],
"conditions": {
"directions": [
[315, 45]
]
}
}
Kąt 45° - 315° określa wszystkie kierunki oprócz kierunku "w prawo".
Jeśli niezbędne jest wyszukanie obiektu poruszającego się głównie w osi pionowej, dwa kąty muszą zostać określone;
{
"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]
]
}
}
Czas trwania (conditions/duration)
Ustala czas (w sekundach), przez który obiekt musi spełniać wszystkie warunki w zapytaniu.
Korzystając z tego warunku, można utworzyć zapytanie typu “długie przebywanie w strefie”:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0.3, 0.3],
[0.7, 0.3],
[0.7, 0.7],
[0.3, 0.7]
]
}
],
"conditions": {
"duration": 5
}
}
Liczba obiektów (condtions/count)
Określa minimalną ilość wymaganych obiektów, które muszą jednocześnie spełnić inne podane warunki.
Jest to zwykle wykorzystywane w celu wyszukiwania dużej liczby obiektów w strefie. Przykład:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0.3, 0.3],
[0.7, 0.3],
[0.7, 0.7],
[0.3, 0.7]
]
}
],
"conditions": {
"count": 3
}
}