Кто-нибудь знает, как найти координаты движущегося объекта? Я нашел несколько примеров в Интернете о отслеживании объектов с помощью оптического потока, но на движущихся объектах я получил только отслеживаемые точки. Можно ли просто нарисовать прямоугольник вокруг каждого движущегося объекта? Есть ли способ получить координаты каждого движущегося объекта? Оцените любую помощь заранее. Благодаря!Как найти координаты движущихся объектов для рисования прямоугольника
ответ
Сложно определить координаты объекта только с нескольких точек на нем. Вы можете использовать моменты (here is a tutorial) tu получить довольно стабильную точку, описывающую, где находится ваш объект.
Вы также можете выполнить дополнительную работу, например, сегментирование с использованием отслеживаемых точек, чтобы получить контур отслеживаемого объекта, что должно еще более упростить поиск его центра масс. Пошел за борт с ths.
Существует также метод отслеживания, называемый CAMSHIFT
, который возвращает прямоугольник, ограничивающий отслеживаемый объект.
Если вы точно знаете, что отслеживаете, и можете следить за тем, чтобы некоторые известные точки на отслеживаемом объекте отслеживались, и вы можете их распознать, чем вы можете использовать POSIT для определения трехмерных координат и ориентации объекта. Взгляните на ArUco, чтобы понять, о чем я говорю.
Чтобы получить 3D-положение из предыдущих методов, вы можете использовать стереовидение и использовать центр масс с обеих камер для вычисления координат.
Установить прямоугольник к точкам вы получаете с оптическим потоком, и вы можете рассмотреть центр подогнанного прямоугольника как справедливая оценку 2D траектории всего двигающегося тела ..
и может использовать оператор Moments
сначала рассчитать размер контура .... и просто добавить этот блок кода
Moments moment = moments((cv::Mat)contours[index]);
area = moment.m00;//m00 gives the area
x = moment.m10/area;//gives the x coordinate
y = moment.m01/area; //gives y coordiante
, где контуров на выходе из findcontours(),
- 1. Как найти 3D-координаты проецируемого прямоугольника?
- 2. Как найти угловые координаты прямоугольника в изображении
- 3. получить координаты прямоугольника (рисования) файла pdf в C#
- 4. Рисование нескольких движущихся объектов
- 5. Обнаружение столкновений движущихся объектов
- 6. Найти угловые координаты прямоугольника в MATLAB
- 7. C# таймеры для движущихся объектов
- 8. Highcharts Как найти легендарные координаты
- 9. Случайные координаты рисования
- 10. Как узнать положение виджета для рисования прямоугольника?
- 11. Расстояние от движущихся объектов
- 12. Рисования запеченного прямоугольника
- 13. Как вычислить преобразование, используя координаты прямоугольника?
- 14. Как получить перекрывающихся прямоугольника координаты
- 15. Определить координаты вращающегося прямоугольника
- 16. Вращение координаты прямоугольника
- 17. Координаты прямоугольника не обновляются
- 18. Карта изображения: как найти координаты круга, прямоугольника и полигонов?
- 19. получить координаты прямоугольника
- 20. Как найти координату центра прямоугольника?
- 21. Как найти координаты самого большого прямоугольника в OpenCV?
- 22. HTML5 Canvas - Лучшая практика для движущихся объектов
- 23. vb.net больше производительности для движущихся объектов
- 24. Явное обнаружение столкновения для быстро движущихся объектов
- 25. Пространственные структуры данных для движущихся объектов?
- 26. javascript для рисования прямоугольника над изображением
- 27. javafx calloking для рисования прямоугольника на сцене
- 28. Алгоритм столкновений для 2 движущихся объектов
- 29. единство испечь свет для движущихся объектов
- 30. Как рисовать два прямоугольника, движущихся ко мне в три раза?
Привет, спасибо за ваш ответ. Я смущен насчет связи между сегментацией и отслеживанием. Я попытался использовать вычитание фона, чтобы получить контур движущихся объектов, но как я могу их отслеживать? Должен ли я по-прежнему использовать оптический поток, но как? – user746123
Я просто бросил сегментацию как бесплатное предложение. Должно быть, выкопать еще немного, чтобы увидеть, как он фактически используется. В любом случае, вы можете нарисовать вокруг них прямоугольник. Вы можете использовать центр масс или что-то еще, если вы согласны с ним, поэтому каждый объект находится одинаково. Что касается точного местоположения, вы можете использовать ['calcPyrOpticalFlowLK'] (http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=pyrlk#calcopticalflowpyrlk), поскольку он отслеживает ранее установленные функции на сцена, вместо этого просто показывает, где находится какое-либо движение. – morynicz