我正在使用第三方库,它利用循环缓冲区来处理图像数据和视频。它有一种获取最后一张图像或弹出它的方法。我想知道在pyqt中实现视频功能的最佳方法是什么。是否有一些带有回调函数的视频小部件我可以使用?或者我必须以某种方式自己实现并行处理?与此同时,如果您不知道如何在pyqt中实现它,如何在qt中实现这一建议也将非常感激。
提前致谢!
答案 0 :(得分:2)
我会弹出最后一张图片(来自循环缓冲区)并将其加载到QPixmap
。这允许您将图像放入pyqt4 gui能够加载的表单中。
根据您的库图像格式(直接bmp?jpg?png?原始像素?),您可以通过两种方式之一将数据加载到QPixmap中。
首先:逐个像素地进行(设置图像的宽度和高度,并逐个复制每个像素值)。这个方法很慢,我只会在必要时使用它。
第二:如果图像以通用格式存储(“支持的”列出here),则这变得微不足道。
然后在QPixmap中加载图像后,我会使用QLabel.setPixmap()
来显示图像。
使用QTimer插槽以一定的速率执行此操作,您将能够以pyqt4 gui显示图像。