Определение движушихся объектов в потоковом видео

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

Итак по порядку.


Корпуса для видео счетчиков не проблема. Можно взять корпуса от мини или микро компьютеров. Можно использовать корпуса от старых видеосченчиков, слегка их обновив.
Контактную группу создать заново. Еще меньшая проблема. Все контакты присутствуют в необозримом количестве на рынках города.
ОС. Выбор велик и многообразен, но мы будем рассматривать linux. Есть realtime разработки. Можно использовать их. Но система не столь "критична" чтобы сильно заворачиваться по данному вопросу.
Устройство видео захвата. Выбор прежде всего в том какую систему мы выберем. 1 сервер - много камер или 1 сервер - 1 камера. И для того и того решения есть устройства, которые дефолтно поддерживаются в Linux. В случае с видео счетчиками важен формфактор. То есть устройство должно просто влезть в корпус.
Аналоговые камеры. Во общем, то проблемы нет. Потому как нам нужно, чтобы система поняла устройство захвата. А какие камеры к нему будут подключены для системы роли не играют. Для определения объектов необходимости в цветных камерах нет, можно использовать Ч/Б (точнее серые) камеры, но с хорошим разрешением. Разрешение конечно даст нагрузку на процесор, но меньше чем цветная картинка.
Организовать запись файлов просто. Выделим раздел для хранения видео записей. Отдельный раздел позволит сохранить данные в случает "смерти" системы. А так как данные пишутся в файлы, то организация записи "по кругу" становиться тривиальной технической задачей. Нужно будет выбрать размер файла для одного фрагмента записи, но сейчас это не важно.
Теперь самое интересное, а как нам все это реализовать. Во первых берем за основу Qt. Разработка графического интерфейса в Qt это простенькая задачка, на которой останавливаться не стоит. Работа с видео потоками в Qt есть и позволяет создать запись и проигрывание видео в несколько десятков строк. Qt кросc платформенное и основное направление это Linux. Библиотека mencoder http://ru.wikipedia.org/wiki/MEncoder позволит нам обрабатывать видео.
Однако это только пол дела. Есть еще свободная реализации системы технического зрения http://locv.ru/wiki/
Главная_страница разрабатываемая при поддержке Intel. Learning OpenCV
http://ru.wikipedia.org/wiki/OpenCV
Правда данная библиотека не очень быстрая, по утверждению некоторых, но оно написана на С++ , что говорит что её можно использовать вместе с Qt.
Далее ставиться вопрос насколько это нам необходимо и стоит ли с этим всем связываться. Или все закончиться как обычно :)
PS. Как и предполагалось это никому не нужно. :)