Farneback光流Python实现效果劣于OpenCV,求问题排查
排查自实现Farneback光流与OpenCV结果差异的问题
我正在自有框架中集成Farneback光流算法,已完成Python原型开发。严格遵循论文步骤实现了多尺度光流估计流程:默认初始光流dx=dy=0,每个尺度下执行多次迭代,核心流程包括:
- 图像二阶多项式展开
- 参数组合
- 计算ATA与ATB矩阵
- 邻域平均
- 求解线性系统
但自实现的结果远差于OpenCV的Farneback光流输出。目前已知的差异是,我采用简单无权重最小二乘法计算参数A和b,而OpenCV的实现并非如此,但不确定这是否是导致结果差距的主要原因,还是代码中存在其他逻辑错误。
自实现完整代码
# 粘贴你的自实现代码
OpenCV参数配置
# 粘贴OpenCV的调用代码及参数示例: import cv2 flow = cv2.calcOpticalFlowFarneback(prev, next, None, pyr_scale=0.5, levels=3, winsize=15, iterations=3, poly_n=5, poly_sigma=1.2, flags=0)
内容的提问来源于stack exchange,提问作者ractiv
相关产品推荐
相关产品推荐

