gpt4 book ai didi

video - 使用 FFmpeg 计算光流大小

转载 作者:行者123 更新时间:2023-12-04 23:12:56 26 4
gpt4 key购买 nike

我正在尝试使用 FFmpeg计算短视频中的总光流值(或运动值)。有没有命令可以做到这一点?如果速度更快,也将对任何替代方法持开放态度。

我目前正在使用 PythonopenCV要做到这一点:

def getOpticalMag(prev_image, curr_image):

prev_image_gray = cv2.cvtColor(prev_image, cv2.COLOR_BGR2GRAY)
curr_image_gray = cv2.cvtColor(curr_image, cv2.COLOR_BGR2GRAY)

flow = cv2.calcOpticalFlowFarneback(prev_image_gray, curr_image_gray, flow=None,
pyr_scale=0.5, levels=1, winsize=15,
iterations=2,
poly_n=5, poly_sigma=1.1, flags=0)
mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])

return np.mean(mag)

最佳答案

您正在寻找的是直接从编码的视频流中提取运动矢量。 FFmpeg 没有为此提供接口(interface)。这个 git https://github.com/jishnujayakumar/MV-Tractus可能很有趣。

另一方面,因为您正在寻找平均运动。您可以调整输入图像的大小(下采样 2 或 4 倍)和/或使用更快的方法,如 DIS 流。另一种优化策略是使用金字塔 Lucas Kanade 方法计算非常稀疏网格的运动向量。

关于video - 使用 FFmpeg 计算光流大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60980511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com