小编Mat*_*man的帖子

使用管道直接从np.array编写电影

我有一个4D numpy电影帧阵列.我正在寻找一个函数,以给定的帧速率将它们写入电影.我在我的操作系统上安装了FFMPEG,正如我从这些答案中看到的,最有效的方法是通过管道.

但是,我使用管道的经验很少,上面链接中的解释对我来说没什么意义.此外,很少有答案似乎实际上实现了管道,并且确实使用了mencoder,而不是FFMPEG.我对FFMPEG相对缺乏经验,所以我不确定如何修改mencoder答案中的命令字符串以使其在FFMPEG中工作.

我想要的是什么:

以下形式的功能:

animate_np_array(4d_array,framerate) - > output.mp4(或其他视频编解码器)

它实现了一个接一个地将帧发送到FFMPEG的管道,并且我可以将其复制粘贴到我现有的代码中.

此外,绝对有必要这个函数永远不会实际绘制任何帧,因为对matplotlib.imshow()函数的调用(正如我最常见的那样)会大大减慢速度.

python video ffmpeg numpy matplotlib

4
推荐指数
1
解决办法
2524
查看次数

有效地预测数字处理算法的输出

我正在研究一些代码,当需要两个整数m和n时,需要能够有效地预测(最好在O(1)时间内)以下算法的输出.

algorithm(m,n):
history = set()
while True:
    if (m,n) in history:
        return False
    elif n == m:
        return True
    else:
        history.add((m,n))
        if m>n:
            x = m-n
            y = 2*n
            m = x
            n = y
        else:
            x = 2*m
            y = n-m
            m = x
            n = y
Run Code Online (Sandbox Code Playgroud)

请注意,当(m,n)出现在以下算法的历史记录中时,您已进入无限循环(即2,1 - > 1,2 - > 2,1 ...); 当m == n时,算法只能继续前进一步并且必须终止(即5,5 - > 10,0 - > 10,0 ......).基本上我需要能够预测m(当前)和n(当前)是否匹配.

PS,如果这个算法有一个名字我很想知道它.此外,如果有关于这个主题的良好阅读(预测数字序列等等),我很乐意接受它.

python algorithm performance sequence prediction

0
推荐指数
1
解决办法
104
查看次数