Получение списка параметров детектора

Для получения списка параметров детектора необходимо:

  1. Через ListUnits запросить необходимый детектор.
    Тело запроса:

    {
      "method":"ITV.bl.config.ConfigurationService.ListUnits",
      "data":{
        "unit_uids": ["hosts/D-COMPUTER/AVDetector.2"]
      }
    }


  2. Получить ответ. Ответ будет содержать все параметры детектора.
    Пример ответа:


    {
      "units": [
        {
          "uid": "hosts/D-SHKIRDOV1/AVDetector.2",
          "display_id": "2",
          "type": "AVDetector",
          "display_name": "Распознавание номеров автомобилей (VT)",
          "access_point": "hosts/D-SHKIRDOV1/AVDetector.2/EventSupplier",
          "properties": [
            {
              "id": "display_name",
              "name": "Имя",
              "description": "Имя объекта детектор.",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "value_string": "Распознавание номеров автомобилей (VT)"
            },
            {
              "id": "enabled",
              "name": "Включить",
              "description": "Использовать выбранный алгоритм детектирования.",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": true
            },
            {
              "id": "detector",
              "name": "Тип",
              "description": "Тип детектора.",
              "category": "",
              "type": "string",
              "readonly": true,
              "internal": false,
              "display_value": "Распознавание номеров автомобилей (VT)",
              "value_string": "LprDetector_Vit"
            },
            {
              "id": "streaming_id",
              "name": "Видеопоток",
              "description": "Выбрать видеопоток для детектора.",
              "category": "&2. Характеристики объекта",
              "type": "string",
              "readonly": false,
              "internal": false,
              "enum_constraint": {
                "items": [
                  {
                    "name": "",
                    "traits": [],
                    "properties": [],
                    "value_string": "hosts/D-SHKIRDOV1/DeviceIpint.5/SourceEndpoint.video:0:0"
                  },
                  {
                    "name": "",
                    "traits": [],
                    "properties": [],
                    "value_string": "hosts/D-SHKIRDOV1/DeviceIpint.5/SourceEndpoint.video:0:1"
                  }
                ]
              },
              "value_string": "hosts/D-SHKIRDOV1/DeviceIpint.5/SourceEndpoint.video:0:1"
            },
            {
              "id": "EnableRealtimeRecognition",
              "name": "Распознавание в реальном времени",
              "description": "Включить распознавание в реальном времени.",
              "category": "&2. Характеристики объекта",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "EnableRecordingObjectsTracking",
              "name": "Запись траекторий объектов",
              "description": "Включить запись траекторий объектов в одноименную базу данных. Траектории объектов используются для интеллектуального поиска в архиве.",
              "category": "&2. Характеристики объекта",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": true
            },
            {
              "id": "period",
              "name": "Период",
              "description": "Время в мсек, после которого будет обработан следующий кадр. При \"0\" обрабатывается каждый.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 65535
              },
              "value_int32": 0
            },
            {
              "id": "onlyKeyFrames",
              "name": "Прореживание видеопотока",
              "description": "Декодировать только ключевые кадры.",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "Extra angle analyse",
              "name": "Алгоритм распознавания смещенного отображения номера",
              "description": "Включить алгоритм распознавания смещенного отображения номера.",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "Extra ranges analyse",
              "name": "Алгоритм расширенного поиска номеров",
              "description": "Включить алгоритм расширенного поиска номеров, значительно различающихся по размеру.",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "FrameScale",
              "name": "Изменение размера кадров",
              "description": "Указать размер, до которого будет сжиматься видеоизображение перед анализом.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 640,
                "max_int": 10000,
                "default_int": 1920
              },
              "value_int32": 1920
            },
            {
              "id": "Precise analyse",
              "name": "Расширенный анализ изображения",
              "description": "Использовать расширенный анализ изображения для улучшения качества распознавания в нестандартных условиях (дождь, снег, неверные настройки камеры распознавания). При использовании данного параметра время распознавания увеличивается на 20-30 %.",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "deviceType",
              "name": "Режим работы",
              "description": "Указать режим работы детектора.",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "enum_constraint": {
                "items": [
                  {
                    "name": "CPU",
                    "traits": [],
                    "properties": [],
                    "value_string": "CPU"
                  },
                  {
                    "name": "Intel GPU",
                    "traits": [],
                    "properties": [],
                    "value_string": "IntelGPU"
                  },
                  {
                    "name": "Intel NCS",
                    "traits": [],
                    "properties": [],
                    "value_string": "IntelNCS"
                  }
                ],
                "default_string": "CPU"
              },
              "value_string": "CPU"
            },
            {
              "id": "directionDetectionAlg",
              "name": "Алгоритм обнаружения направления движения ТС",
              "description": "Выбрать из списка алгоритм обнаружения направления движения по номеру ТС.",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "enum_constraint": {
                "items": [
                  {
                    "name": "По координатам номера",
                    "traits": [],
                    "properties": [],
                    "value_string": "ByCooridnates"
                  },
                  {
                    "name": "По изменению масштаба номера",
                    "traits": [],
                    "properties": [],
                    "value_string": "ByScaleChange"
                  }
                ],
                "default_string": "ByCooridnates"
              },
              "value_string": "ByCooridnates"
            },
            {
              "id": "dynamicEnable",
              "name": "VodiCTL_VPW_DYNAMIC_ENABLE",
              "description": "VodiCTL_VPW_DYNAMIC_ENABLE",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": true
            },
                    {
              "id": "dynamicOutputTimeout",
              "name": "VodiCTL_VPW_DYNAMIC_OUTPUT_TIMEOUT",
              "description": "VodiCTL_VPW_DYNAMIC_OUTPUT_TIMEOUT",
              "category": "",
              "type": "double",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_double": 0,
                "max_double": 3600,
                "default_double": 1
              },
              "value_double": 1
            },
            {
              "id": "dynamicWithDuplicate",
              "name": "VodiCTL_VPW_DYNAMIC_WITH_DUPLICATE",
              "description": "VodiCTL_VPW_DYNAMIC_WITH_DUPLICATE",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": true
            },
            {
              "id": "forceReportTimeout",
              "name": "Таймаут",
              "description": "Указать таймаут в секундах.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 3600,
                "default_int": 0
              },
              "value_int32": 0
            },
            {
              "id": "imageBlur",
              "name": "VodiCTL_VPW_IMAGE_BLUR",
              "description": "VodiCTL_VPW_IMAGE_BLUR",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100000,
                "default_int": 13
              },
              "value_int32": 13
            },
            {
              "id": "imageThreshold",
              "name": "Порог контрастности",
              "description": "Указать порог контрастности.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 40
              },
              "value_int32": 40
            },
            {
              "id": "licenseType",
              "name": "Доступный тип лицензии",
              "description": "Использовать выбранный тип лицензии, если доступен.",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "enum_constraint": {
                "items": [
                  {
                    "name": "Поиск в архиве",
                    "traits": [],
                    "properties": [],
                    "value_string": "archivesearch"
                  },
                  {
                    "name": "Стандарт (25 FPS или 6 FPS)",
                    "traits": [],
                    "properties": [],
                    "value_string": "normal"
                  },
                  {
                    "name": "Высокая скорость (25 FPS)",
                    "traits": [],
                    "properties": [],
                    "value_string": "fast"
                  },
                  {
                    "name": "Низкая скорость (6 FPS)",
                    "traits": [],
                    "properties": [],
                    "value_string": "slow"
                  }
                ],
                "default_string": "archivesearch"
              },
              "value_string": "archivesearch"
            },
            {
              "id": "logSettings",
              "name": "VodiCTL_VPW_LOG_SETTINGS",
              "description": "VodiCTL_VPW_LOG_SETTINGS",
              "category": "",
              "type": "bool",
              "readonly": false,
              "internal": false,
              "value_bool": false
            },
            {
              "id": "maxPlateWidth",
              "name": "Максимальная ширина номера, в %",
              "description": "Указать максимальную ширину номерного знака в процентах.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 20
              },
              "value_int32": 20
            },
            {
              "id": "minPlateWidth",
              "name": "Минимальная ширина номера, в %",
              "description": "Указать минимальную ширину номерного знака в процентах.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 5
              },
              "value_int32": 5
            },
            {
              "id": "outputFramecount",
              "name": "Количество кадров",
              "description": "Указать количество кадров, считающееся достаточным для получения результата распознавания.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 1,
                "max_int": 20,
                "default_int": 6
              },
              "value_int32": 6
            },
            {
              "id": "plateCandsMethod",
              "name": "Режим анализа",
              "description": "Выбрать из списка режим анализа.",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "enum_constraint": {
                "items": [
                  {
                    "name": "Стандартный (морфемный)",
                    "traits": [],
                    "properties": [],
                    "value_string": "platecandsByMorph"
                  },
                  {
                    "name": "Продвинутый (нейросетевой)",
                    "traits": [],
                    "properties": [],
                    "value_string": "platecandsByDNN"
                  }
                ],
                "default_string": "platecandsByMorph"
              },
              "value_string": "platecandsByMorph"
            },
            {
              "id": "plateDisplayQuality",
              "name": "Качество отображения номера",
              "description": "Указать в % качество отображения номера.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 0
              },
              "value_int32": 0
            },
            {
              "id": "plateFilterRodropfactor",
              "name": "VodiCTL_VPW_PLATE_FILTER_RODROPFACTOR",
              "description": "VodiCTL_VPW_PLATE_FILTER_RODROPFACTOR",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100000,
                "default_int": 0
              },
              "value_int32": 0
            },
            {
              "id": "plateFilterRofactor",
              "name": "VodiCTL_VPW_PLATE_FILTER_ROFACTOR",
              "description": "VodiCTL_VPW_PLATE_FILTER_ROFACTOR",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100000,
                "default_int": 95
              },
              "value_int32": 95
            },
            {
              "id": "plateFilterSymcount",
              "name": "VodiCTL_VPW_PLATE_FILTER_SYMCOUNT",
              "description": "VodiCTL_VPW_PLATE_FILTER_SYMCOUNT",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100000,
                "default_int": 0
              },
              "value_int32": 0
            },
            {
              "id": "plateProbMin",
              "name": "Минимальное сходство",
              "description": "Указать в % минимальное сходство с образцом, необходимое для распознавания.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 40
              },
              "value_int32": 40
            },
            {
              "id": "camera_ref",
              "name": "",
              "description": "",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "value_string": "hosts/D-SHKIRDOV1/DeviceIpint.5/SourceEndpoint.video:0:0"
            }
          ],
          "units": [
            {
              "uid": "hosts/D-SHKIRDOV1/AVDetector.2/VisualElement.19aa889c-a00b-470c-9d7f-765fbc49e5c2",
              "display_id": "19aa889c-a00b-470c-9d7f-765fbc49e5c2",
              "type": "VisualElement",
              "display_name": "Область детекции (прямоугольник)",
              "access_point": "",
              "properties": [
                {
                  "id": "rectangle",
                  "name": "Область детекции (прямоугольник)",
                  "description": "Прямоугольная область, внутри которой происходит детекция.",
                  "category": "",
                  "type": "Rectangle",
                  "readonly": false,
                  "internal": false,
                  "value_rectangle": {
                    "x": 0.01,
                    "y": 0.01,
                    "w": 0.98,
                    "h": 0.98,
                    "index": 0
                  }
                },
                {
                  "id": "element_type",
                  "name": "",
                  "description": "",
                  "category": "",
                  "type": "string",
                  "readonly": true,
                  "internal": false,
                  "value_string": "cropRect"
                },
                {
                  "id": "element_index",
                  "name": "",
                  "description": "",
                  "category": "",
                  "type": "int32",
                  "readonly": true,
                  "internal": false,
                  "value_int32": 0
                }
              ],
              "traits": [],
              "units": [],
              "factory": [],
              "destruction_args": [],
              "discoverable": false,
              "status": "UNIT_STATUS_ACTIVE",
              "stripped": false,
              "opaque_params": [],
              "assigned_templates": [],
              "has_unapplied_templates": false
            }
          ],
          "destruction_args": [],
          "discoverable": false,
          "status": "UNIT_STATUS_ACTIVE",
          "stripped": false,
          "opaque_params": [
            {
              "id": "Guid",
              "name": "",
              "description": "",
              "category": "",
              "type": "string",
              "readonly": false,
              "internal": false,
              "value_string": "9b9f5bd7-8d31-4ce6-8f78-fb95276f5b0a"
            }
          ],
          "assigned_templates": [],
          "has_unapplied_templates": false
        }
      ],
      "unreachable_objects": [],
      "not_found_objects": [],
      "more_data": false
    }



Список параметров детектора получен.

Составление запроса на изменение конфигурации основного параметра детектора

Для составления запроса на изменение конфигурации основного параметра детектора необходимо:

  1. Выбрать нужный основной параметр.
    Например, "Минимальное сходство".

     {
              "id": "plateProbMin",
              "name": "Минимальное сходство",
              "description": "Указать в % минимальное сходство с образцом, необходимое для распознавания.",
              "category": "",
              "type": "int32",
              "readonly": false,
              "internal": false,
              "range_constraint": {
                "min_int": 0,
                "max_int": 100,
                "default_int": 40
              },
              "value_int32": 40
            }

    где 

  2. Составить запрос на редактирование.
    Пример запроса:

     {
      "method": "ITV.bl.config.ConfigurationService.ChangeConfig",
      "data": {
        "changed": [
          {
            "uid": "hosts/D-COMPUTER/AVDetector.2",
            "type": "AVDetector",
            "properties": [
                {
                  "id": "plateProbMin",
                  "value_int32": 100
                }
            ]
          }
        ]
      }
    }


Запрос на изменение конфигурации основного параметра детектора составлен.

Составление запроса на изменение конфигурации дополнительного параметра детектора

Для составления запроса на изменение конфигурации дополнительного параметра детектора необходимо:

  1. Выбрать нужный дополнительный параметр.
    Например, "Область детекции (прямоугольник)".


     "units": [
            {
              "uid": "hosts/D-COMPUTER/AVDetector.2/VisualElement.19aa889c-a00b-470c-9d7f-765fbc49e5c2",
              "display_id": "19aa889c-a00b-470c-9d7f-765fbc49e5c2",
              "type": "VisualElement",
              "display_name": "Область детекции (прямоугольник)",
              "access_point": "",
              "properties": [
                {
                  "id": "rectangle",
                  "name": "Область детекции (прямоугольник)",
                  "description": "Прямоугольная область, внутри которой происходит детекция.",
                  "category": "",
                  "type": "Rectangle",
                  "readonly": false,
                  "internal": false,
                  "value_rectangle": {
                    "x": 0.01,
                    "y": 0.01,
                    "w": 0.98,
                    "h": 0.98,
                    "index": 0
                  }
                },
                {
                  "id": "element_type",
                  "name": "",
                  "description": "",
                  "category": "",
                  "type": "string",
                  "readonly": true,
                  "internal": false,
                  "value_string": "cropRect"
                },
                {
                  "id": "element_index",
                  "name": "",
                  "description": "",
                  "category": "",
                  "type": "int32",
                  "readonly": true,
                  "internal": false,
                  "value_int32": 0
                }
              ],
              "traits": [],
              "units": [],
              "factory": [],
              "destruction_args": [],
              "discoverable": false,
              "status": "UNIT_STATUS_ACTIVE",
              "stripped": false,
              "opaque_params": [],
              "assigned_templates": [],
              "has_unapplied_templates": false
            }
          ],


    где


  2. Составить запрос на редактирование.
    Пример запроса:

    {
      "method": "ITV.bl.config.ConfigurationService.ChangeConfig",
      "data": {
        "changed": [
          {
            "uid": "hosts/D-COMPUTER/AVDetector.2/VisualElement.19aa889c-a00b-470c-9d7f-765fbc49e5c2",
            "type": "VisualElement",
            "properties": [
                {
                  "id": "rectangle",
                  "value_rectangle": {
                    "x": 0.21,
                    "y": 0.41,
                    "w": 0.58,
                    "h": 0.88,
                    "index": 0
                  }
                }
            ]      
            
          }
        ]
      }
    }


Запрос на изменение конфигурации дополнительного параметра детектора составлен.