如何修复 TVL1 光流算法的 opencv 导入

How to fix opencv import for TVL1 opticalflow algorithm

我问你一个非常简单的问题。我想使用 TVL1 函数通过 openCV(和 python)计算光流。但这是我得到的:

AttributeError: 'module' object has no attribute 'DualTVL1OpticalFlow_create'

Traceback (most recent call last):

File "opticalFlowModel.py", line 50, in computeOpticalFlow
optical_flow = cv2.DualTVL1OpticalFlow_create()

AttributeError: 'module' object has no attribute 'DualTVL1OpticalFlow_create'

问题是在这个题目中 , they seems to use the exact same code. I also try this code : 和有相同的结果。

这是我所有的导入:

import cv2
import numpy as np
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import QtCore, QtGui

我正在使用 OpenCV 4.0.1

我找到了解决方案 here

调用函数的方式与最新的openCV版本不同。这是要做的事情:

替换

optical_flow = cv2.DualTVL1OpticalFlow_create()

来自

optical_flow = cv2.optflow.DualTVL1OpticalFlow_create()