Посмотрите, как далеко лист бумаги движется с помощью веб-камеры - PullRequest
3 голосов
/ 01 марта 2012

У меня установлена ​​веб-камера на расстоянии ~ 12 дюймов от стола лицом вниз. У меня есть лист бумаги, который может двигаться в любом направлении, но только в 2D-плане на столе. Я хочу использовать веб-камеру, чтобы выяснить, в каком направлении движется лист бумаги. Есть ли алгоритм для этого? Как это называется?

1 Ответ

2 голосов
/ 01 марта 2012

предлагаю оптический поток . Из Википедии:

Оптический поток - это модель видимого движения объектов, поверхностей и краев в визуальной сцене, вызванная относительным движением между наблюдателем (глазом или камерой) и сценой

Или, чтобы процитировать презентацию из Стэнфордской лаборатории искусственного интеллекта:

Учитывая набор точек на изображении, найдите те же точки на другом изображении.

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

  1. Найдите хорошие функции изображения для отслеживания, используя cvGoodFeaturesToTrack() - вы должны получить хорошие результаты, если ваш лист бумаги отличается от таблицы
  2. Найдите его углы, используя cvFindCornerSubPix() и
  3. Вычислить оптический поток, используя cvCalcOpticalFlowPyrLK() - «LK» означает «Lucas-Kanade», название алгоритма

Подробнее см. Анализ движения и отслеживание объектов в OpenCV .

...