使用 python 的 OpenCV 光流

Posted

技术标签:

【中文标题】使用 python 的 OpenCV 光流【英文标题】:OpenCV Optical Flow using python 【发布时间】:2020-12-18 15:55:39 【问题描述】:

如何对一组图像执行光流?

我想读取多张图像并对它们执行光流 (Lucas Kanade)。但是我得到的解决方案只用于加载视频而不是图像。

【问题讨论】:

欢迎来到 SO!你试过什么了?我们在这里更多地帮助解决“我尝试了 X,但它没有达到我的预期,而是导致错误!”形式的特定问题。伴随着Minimal, Complete, and Verifiable example 【参考方案1】:

我假设你在教程中有这一行:

ret, frame = cap.read()

以这种方式获取框架:

frame = cv2.imread("path/to/img")

【讨论】:

谢谢。但是教程中的光流有cv和cv2函数链接:docs.opencv.org/3.4/d4/dee/tutorial_optical_flow.html那么如何使用"frame = cv2.imread("path/to/img")" 光流需要一对图像,而不是单个图像。 只需将所有出现的 "cap.read()" 替换为 "cv2.imread("path/to/img"+str(img_index)+".png")"。然后增加 img_index。

以上是关于使用 python 的 OpenCV 光流的主要内容,如果未能解决你的问题,请参考以下文章

python中的openCV光流

如何在openCV python中将背景减法与密集光流跟踪相结合

opencv-python DIS光流

用于计算光流空间导数的 Python 库

opencv-python DIS光流

opencv-python DIS光流