У вас уже есть dx и dy. С этой информацией вы всегда можете иметь скорость такого пикселя, если знаете время t
.
vx = dx / t
vy = dy / t
dx и dy могут быть отрицательными, поэтому они сохранят вид ориентации ... помните, что начало координат находится в верхнем левом углу и указывает вправо и вниз.
Таким образом, вы можете иметь скорость каждого пикселя на кадр в измерении. Вы всегда можете выполнить отслеживание пикселя и рассчитать его траекторию длина и разделить его по времени, можно сказать, что это средняя скорость пикселя в некотором смысле.
Для этого вы рассчитываете длину каждой точки на траектории:
length = sqrt(dx**2 + dy**2)
и добавьте их после пикселя, под этим я подразумеваю что-то вроде:
totalLength = length(prev1[y,x]) + length(prev2[y+prev1[y,x][1], prev2[x+prev1[y,x]][0]]) ....
, а затем разделите общую длину со временем.
Если вы хотите скорость полного смещения, я имею в виду скорость от начальной точки до конечной точки (может быть 0, если пиксель перемещается назад и вперед), затем просто отслеживайте пиксель, добавляя смещения, а затем рассчитать скорость.
disp = (x,y) + prev1[y,x] + prev2[y,x] ...
speed = disp / t
Надеюсь, это поможет вам, если не оставите комментарий.