Привет, я работал над этим некоторое время, но пока не нашел хорошего решения.
Я читаю видео кадр за кадром и использую вычитание фона для '
определите регион, в котором происходит движение, и используйте cvFindContours (), чтобы получить границу прямоугольника движущихся объектов.
При условии, что программа проста, может быть только 2 человека.
Эти объекты и движутся так, чтобы они могли перекрываться, поворачиваться и удаляться с определенным интервалом.
Как я могу правильно обозначить людей x 2.
cvFindContour может вернуть границу случайным образом. для Frame1, Frame2, Frame3 .... FrameN
Сначала я могу сравнить центроид прямоугольной границы, чтобы правильно обозначить человека. Как только человек пересекся и ушел, этот подход потерпит неудачу.
Я пытался отследить цвет пикселей исходного объекта (однако люди довольно похожи, а некоторые области имеют похожие цвета, такие как рука, нога, волосы), поэтому недостаточно хороши.
Я подумывал об использовании Image Statistic, например:
CountNonZero (),
SumPixels ()
Имею в виду()
Mean_StdDev ()
MinMaxLoc ()
Норма ()
для уникального различения двух объектов. Я считаю, что это был бы лучший подход.