Добрый день. Возникла такая задача, подумал, может быть вы покажете пути решения. Я уже совсем замучался, но, кажется, не вижу чего-то совсем простого.
Есть камера, которая зафиксирована и смотрит вертикально вниз. Есть люди, которые там ходят или стоят. Задача - отслеживать людей в видеопотоке. Как следить за движущимися людьми - вполне понятно (считать разность интенсивности цвета каждого пикселя по нескольким кадрам, делать threshold и т.п. Проблемы начинаются тогда, когда объект останавливается. У меня было две идеи: следить за каждой областью, где есть движение, при помощи чего-то вроде camshift, либо стягивать вокруг этой области активный контур (snake), который будет отслеживать эту область даже тогда, когда она остановится. С обоими идеями возникли проблемы (гистограммы кадра с человеком и без очень похожи, а параметры активного контура не получилось нормально подобрать). Возможно есть решение проще и лучше. Может чего подскажете? Прилагаю примеры кадров с человеком и без оного:

в общем, а если следить - как только человек "типа исчез" из кадра, берем предыдущий кадр (где чел "еще был") и вычитаем из него новый, на котором чела уже вроде как нет... т.к. камера не двигается, фон уберется, останутся шумы и человек, если он ушел, или чисто шумы, если он остановился. А что с этим дальше делать - Х.З.
Тут уж шарящим товарищам карты в руки.