私はcv2.calcOpticalFlowFarneback()
をPythonで使用してオプティカルフローの結果を取得していますが、その結果を使用する際に問題があります。私はその関数によって返された変更を描画したいが、Pythonでループするのは遅すぎる。私はそれを速くするnumpyとメソッドがあると確信しています。ここに私の試みOpenCVでループなしのcalcOpticalFlowFarnebackの結果を描画
flow = cv2.calcOpticalFlowFarneback(prev_gray, gray, pyr_scale=0.5, levels=5, winsize=13, iterations=10, poly_n=5, poly_sigma=1.1, flags=0,flow=None)
for y in range(0, flow.shape[0], 5):
for x in range(0, flow.shape[1], 5):
fx, fy = flow[y, x]
cv2.line(frame2, (x,y), (int(x+fx),int(y+fy)), (255,0,0))
cv2.circle(frame2, (x,y), 1, (255,0,0), -1)