【问题标题】:How do I get many frames at once?如何一次获得多个帧?
【发布时间】:2012-11-19 19:10:27
【问题描述】:

我正在用 Python 编写一个程序,它可以抓取给定输入视频中的所有帧并对每一帧进行一些处理。我在一组机器上运行这个程序,并希望通过让每个进程负责使用 MPI 处理单个帧来并行化这个程序。

我正在使用 cv2 读取输入视频的帧。 cv2 提供了一个函数grab 来一次获取一个输入视频的帧。我可以使用另一个函数来一次获取所有帧列表吗?我想对这些帧执行分散操作以将它们分散到各个进程,然后在最后使用聚集来组合所有现在处理的帧。一次抓取每一帧似乎是在序列化整个程序。

【问题讨论】:

    标签: python opencv mpi


    【解决方案1】:

    我正在考虑两种可能的情况:

    1) 与每一帧的实际处理相比,抓取每一帧是一项相当轻松的操作。在这种情况下,“序列化”抓取部分并不是真正的问题。

    2) 集群中的每个主机都有责任抓取一组特定的帧。因此,您可以“分散帧数”而不是“分散帧”,而主机会完成这项工作。

    【讨论】:

    • 谢谢,1 可以工作... 对于 2,每个主机可以用帧号做什么?是否可以随机访问视频中的帧?
    • 对于 2:我真的不记得 OpenCV 的功能,但我很确定有一种方法可以从视频中检索特定帧。此外,您只需向每个主机发送一组整数而不是大矩阵。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多