python - 将pyqtgraph导出到视频

标签 python pyqtgraph

我想将 pyqtgraph 导出到视频中。有什么简单的方法可以做到这一点?该图与此示例没有太大区别,只是它包含大约 10000 帧:

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg

app = QtGui.QApplication([])

win = pg.GraphicsWindow(title="Basic plotting examples")
win.resize(1000,600)
pg.setConfigOptions(antialias=True)
p6 = win.addPlot(title="0")
curve = p6.plot(pen='y')
data = np.random.normal(size=(10,1000))
ptr = 0
def update():
    global curve, data, ptr, p6
    data_ptr = ptr%10
    p6.setTitle("%d" % data_ptr)
    curve.setData(data[data_ptr])
    if ptr == 0:
        p6.enableAutoRange('xy', False)
    ptr += 1
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(50)

最佳答案

每一帧只是一张图片。所以你可以使用 imageexporter为每个帧生成图像。导出函数的 toBytes 参数将返回内存中的 *.png 文件,但您也可以对它们进行编号并将它们保存在临时目录中。 pyqtgraph userguide 中给出了将图形导出到文件的示例。 .

然后您可以使用 ffmpeg 将它们排序在一起。

如果您使用导出到单独的文件选项,您可以使用 ffmpeg 命令行,如下所示: How to create a video from images with FFmpeg?

但是,如果您将所有帧都存储在内存中,则可以使用 ffmpeg python 绑定(bind),尽管我没有这方面的示例。

关于python - 将pyqtgraph导出到视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558572/

相关文章:

python - PyQtGraph 图形布局小部件问题

python - 在 Tensorflow 中训练 wordvec,导入到 Gensim

python - 从 Pandas DataReader 数据框中提取特定值?

python - 无法将列表的值插入 csv 的分隔行中

python - 由于缩放,pyqtgraph中的图像被隐藏

python - 无法使用新数据点更新 Pyqtgraph 图

python - Pandas 连接到 Oracle Db 无需连接字符串

python - 带 basemap 的空图

python - finplot 作为布局中的小部件

python - 将 Pyqtgraph 嵌入到 PySide2