我需要计算从头顶摄像机记录的两个连续帧之间车辆的密集光流。我在 Python 中使用物体检测器进行车辆检测和 Farneback 算法进行光流估计。目前,计算整个图像的光流。但是,我需要在检测到的车辆周围创建一个掩码,并仅在选定区域周围计算密集的光流。这将有助于显着加快光流估计。我也可以使用任何其他形式的密集光流估计,但不能使用稀疏光流(例如,Lucas-Kanade 方法)。一种选择是提取车辆区域并单独输入每个车辆区域以进行光流估计,但我正在寻找更好的解决方案。
flow = cv2.calcOpticalFlowFarneback(prvs,next, None, 0.5, 3, 15, 3, 5, 1.2, 0)
Run Code Online (Sandbox Code Playgroud)
对于没有任何光流计算的非车辆掩蔽区域,预期的光流结果将为零。