Задать вопрос
  • Как изменить скорость в http ONVIF запросе к Pelco камере?

    @mordo445
    Я перехватил для вас работающий пакет с "Relative Move"
    64dc73c12ee09112079317.png

    Попробуйте добавить схему, проверьте, в таком ли виде уходит нагрузка в камеру. Если не работает - все вопросы до Pelco, они люди особые
    Ответ написан
    Комментировать
  • Каким образом можно привести к единой координатной системе траектории движения точек?

    freeExec
    @freeExec
    Участник OpenStreetMap
    В трехмерной графике используют специальную матрицу, для смещение, поворота и масштабирования координат.

    https://en.wikipedia.org/wiki/Transformation_matrix
    Ответ написан
    Комментировать
  • Каким образом можно привести к единой координатной системе траектории движения точек?

    @AlexSku
    не буду отвечать из-за модератора
    В Матлабе есть Multi-object tracking, но из-за санкций теперь это ПО скорее всего недоступно. Если только почитать документацию.
    Ответ написан
    Комментировать
  • Каким образом можно привести к единой координатной системе траектории движения точек?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Хватит и метода наименьших квадратов.

    Я так понял, что вам надо отслеживать общий сдвиг и поворот так, что бы индивидуальные изменения в точках были минимальны.

    Сначала для каждой точки в прошлом снимке найдите положение в следующем. Можно брать ближайшую точку, если там изменения от кадра к кадру небольшие. Иначе придется городить какой-нибудь градиентный спуск. Если изменение превосходит некоторое пороговое значение - считаете, что точка пропала и не включаете эту пару в рассмотрение.

    Когда для каждой точки вы знаете где ее прошлое и следующее положение, у вас задача найти минимум функции
    sum_i (xp_i-xp'_i)^2+(yp_i-yp'_i)^2, где
    xp' = xn*cosa - yn*sina + dx
    yp' = xn*sina + yn*cosa + dy.

    Тут (xp, yp) - координаты i-ой точки в прошлом кадре, (xn, yn) - координаты в следующем кадре, cosa,sina,dx,dy - неизвестные. Берете производные по dx, dy и a приравниваете к 0. Получаете 3 уравнения с 3 неизвестными. Их двух первых элементарно выразить dx, dy через cosa/sina. Подставив в последнее вы получите уравнение вида cosa^2 A + sina cosa B + sina^2C + D = 0. Можно домножить D на cosa^2+sina^2, потом поделить все на sin^2 и решать квадратное уравнение относительно тангенса. Потом через арктангенс найти решение.

    Если изменения от кадра к кадру могут быть большими, то надо минимизировать чуть чуть другую функцию:

    sum_i min_j ((xp_j-xp'_i)^2+(yp_j-yp'_i)^2) - для каждой точки берем минимум по всем возможным прообразам и это суммируем. Поскольку оно уже не диффиренцируемо, придется использовать какой-то более хитрый метод оптимизации по dx, dy, a.
    Ответ написан
    Комментировать