为Python传递`createOptFlow_DualTVL1`的附加参数

时间:2018-06-21 10:34:56

标签: python-3.x opencv3.0 opticalflow

我正在尝试使用OpenCV中的createOptFlow_DualTVL1 for Python。我正在使用这本书(第120页)作为参考(https://books.google.de/books?id=TrZTDwAAQBAJ&pg=PA119&lpg=PA119&dq=cv2.createOptFlow_DualTVL1()+parameters+python&source=bl&ots=3sQlqNwhDX&sig=h7Ve4FzpsVJKkjrNXpy8t_Arpvw&hl=en&sa=X&ved=0ahUKEwicu6_EveTbAhUDb1AKHQp1Bq8Q6AEIUDAD#v=onepage&q=cv2.createOptFlow_DualTVL1()%20parameters%20python&f=false)。

根据这本书,我需要通过调用cv2.DualTVL1OpticalFlow函数来创建cv2.createOptFlow_DualTVL1类的实例。然后,可以通过调用创建的实例的calc函数来计算光流。该函数将前一帧,当前帧和光流初始化作为参数。该书还说可以使用set来设置其他算法参数。但是我无法在Python中将其他任何参数作为参数传递。有没有办法设置其他算法参数?下面是我到目前为止的摘要。

optical_flow = cv2.createOptFlow_DualTVL1() flow = optical_flow.calc(new_prvs, new_nxt, None)

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:here

对于cv2版本“'4.1.0'”:

替换:

optical_flow = cv2.createOptFlow_DualTVL1()
flow = optical_flow.calc(new_prvs, new_nxt, None)

具有:

optical_flow = cv2.optflow.DualTVL1OpticalFlow_create()
flow = optical_flow.calc(prvs, next, None)

可以在此处找到参数说明:http://docs.opencv.org/3.3.0/dc/d47/classcv_1_1DualTVL1OpticalFlow.html