我正在尝试使用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)
答案 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