найти оптический поток для каждого пикселя opencv

Я использую следующие функции в качестве основы моего алгоритма отслеживания.

//1. определить функции, которые я имею в виду, эта функция извлекает только хорошие функции,

cv::goodFeaturesToTrack(gray_prev, // the image 
features,   // the output detected features
max_count,  // the maximum number of features 
qlevel,     // quality level
minDist);   // min distance between two features

// 2. отслеживать особенности

cv::calcOpticalFlowPyrLK(
gray_prev, gray, // 2 consecutive images
points_prev, // input point positions in first im
points_cur, // output point positions in the 2nd
status,    // tracking success
err);      // tracking error

cv::calcOpticalFlowPyrLK принимает вектор точек из предыдущего изображения в качестве входных данных и возвращает соответствующие точки на следующем изображении. Предположим, я хочу рассчитать оптический поток для каждого пикселя вместо хороших характеристик.

в другом смысле начать вычислять оптический поток от (1,1 ) до (m,n)


person user3050468    schedule 05.01.2014    source источник
comment
возможный дубликат отслеживания Opencv с использованием оптического потока   -  person Roger Rowland    schedule 05.01.2014
comment
@RogerRowland Нет, этот вопрос не тот.   -  person Hannes Ovrén    schedule 05.01.2014
comment
Могу ли я также предложить это? Это называется фазовой корреляцией: /вопросы/16718241/   -  person Matteo Ragni    schedule 12.01.2014


Ответы (1)


cv::calcOpticalFlowPyrLK делает разреженный OF, то есть из характерных точек, если вы хотите это для каждого пикселя, используйте

calcOpticalFlowFarneback .

Вычисляет плотный оптический поток (используя алгоритм Гуннара Фарнебака).

person berak    schedule 05.01.2014