Я использую следующие функции в качестве основы моего алгоритма отслеживания.
//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)