我正在用Python编写一个程序,该程序可以获取给定输入视频中的所有帧,并对每个帧进行一些处理。我正在机器集群上运行该程序,并希望通过让每个进程负责使用MPI处理单个帧来并行化此程序。
我正在使用cv2读取输入视频的帧。 cv2提供了grab函数来一次获取一个输入视频的帧。是否可以使用另一个功能一次获取所有帧列表?我想对这些帧执行分散操作,以将它们分散到各个进程,然后在末尾使用聚集将所有现在处理的帧组合在一起。一次捕获每一帧似乎正在序列化整个程序。
最佳答案
我正在考虑两种可能的情况:
1)与实际处理每个帧相比,抓取每个帧是相当轻的操作。在这种情况下,“序列化”抓取部分并不是真正的问题。
要么
2)群集中的每个主机都有抓取一组特定帧的责任。因此,您可以“分散帧号”来代替“分散帧”,而主机则可以完成这项工作。
关于python - 如何一次获得许多帧?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13460463/