Пример 1. Скрипт для выделения оставленных предметов рамкой на живом видео

Если используется функция детекции предметов на видеоизображении (см. Создание и настройка объекта Трекер), то при просмотре архива обнаруженные оставленные предметы будут выделяться на видеоизображении рамкой. Для выделения оставленных предметов рамкой на живом видео необходимо использовать следующий скрипт, который предназначен для рисования рамки вокруг оставленного предмета при получении тревоги по детектору VMDA:

if (Event.SourceType=="CAM_VMDA_DETECTOR")
{
 cam=GetObjectParentId("CAM_VMDA_DETECTOR",Event.SourceId,"CAM");
 if (Event.Action=="ALARM")
 {
   var x1,x2,y1,y2;
   x1=Event.GetParam("x");
   x2=Event.GetParam("w");
   y1=Event.GetParam("y");
   y2=Event.GetParam("h");
   x2=parseInt(x1)+parseInt(x2);
   y2=parseInt(y1)+parseInt(y2);
   DoReactStr("MONITOR","","SET_MARKRECT","cam<"+cam+">,color<255>,id<"+cam+">,x1<"+x1+">,x2<"+x2+">,y1<"+y1+">,y2<"+y2+">");
   DebugLogString("x1:"+x1+" x2:"+x2+" y1:"+y1+" y2:"+y2);
 }
 else
 {
   DoReactStr("MONITOR","","DEL_MARKRECT","cam<"+cam+">,id<"+cam+">");
 }
} 

Пример 2. Использование встроенного детектора подсчета посетителей IP-камеры Bosch FLEXIDOME IP dynamic 7000 VR

По достижению количества посетителей 20 на встроенном детекторе подсчета посетителей IP-камеры Bosch FLEXIDOME IP dynamic 7000 VR (с идентификатором 1) вызывать макрокоманду 1. 

n=20;
if(Event.SourceType == "CAM_IP_DETECTOR" && Event.SourceId=="1" && Event.Action == "DETECTED")
{
 v=Event.GetParam("param0").split(";")[1];
 if (parseInt(v.split(":")[1])==n)
 {
     DoReactStr("MACRO","1","RUN","");
 } 
}
  • No labels