我有一个 gstreamer 管道,可以捕获图像并将其保存在特定位置的文件夹中
gst-launch-1.0 nvarguscamerasrc num-buffers=1 sensor_id=0 ! 'video/x-raw(memory:NVMM), width=4608, height=2592, framerate=14/1, format=NV12' ! nvjpegenc ! filesink location=myImage.jpg
是否可以将 gstreamer 管道捕获的图像直接存储到 python 变量中,然后我可以在 pyqt 中使用该变量进行显示。我想跳过让 gstreamer 将其保存到文件中的步骤,然后我必须在 pyqt 中再次打开该文件。
这是我想使用 jpg 文件的 pyQt 代码的精简版:
from PyQt5.QtWidgets import QLabel, QMainWindow, QApplication, QWidget, QVBoxLayout
from PyQt5.QtGui import QPixmap
import sys
#Something along the lines of
#imageData = getImageFromGstreamer("gst-launch-1.0....")
class Menu(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Title")
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
lay = QVBoxLayout(self.central_widget)
label = QLabel(self)
pixmap = QPixmap('logo.png') # QPixmap(imageData)
label.setPixmap(pixmap)
self.resize(pixmap.width(), pixmap.height())
lay.addWidget(label)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Menu()
sys.exit(app.exec_())
PyQt5 是否有 gstreamer 库,我可以使用它来直接抓取来自 gstreamer 的图像?