【问题标题】:videocapture and pyqt视频捕捉和 pyqt
【发布时间】:2012-02-27 13:13:15
【问题描述】:

我使用这个库http://videocapture.sourceforge.net/ 来捕获网络摄像头。但我不明白它是如何将视频流发送到qpixmap

【问题讨论】:

    标签: python pyqt webcam qpixmap


    【解决方案1】:

    如果您查看此库的文档,您会发现它非常简短和甜蜜。 http://videocapture.sourceforge.net/html/VideoCapture.html

    我可以告诉你有两种方法可以让你的图像进入 Qt...

    最好的方法——直接进入QImage

    getImage() 声明它将返回一个 PIL 图像。如果您使用的是最新版本,PIL 有一个名为 ImageQt 的模块,它可以获取一个 PIL Image 对象并返回一个 QImage。从这里您可以将其转换为 QPixmap:

    from PyQt4 import QtCore, QtGui
    from VideoCapture import Device
    from PIL import Image, ImageQt
    
    app = QtGui.QApplication([])
    
    cam = Device()
    # this is a PIL image
    pilImage = cam.getImage()
    # this is a QImage
    qImage = ImageQt.ImageQt(pilImage)
    # this is a QPixmap
    qPixmap = QtGui.QPixmap.fromImage(q)
    

    另一种方式 - 先写入磁盘

    如果您按照他们在此模块网站上提供的示例进行操作,他们将向您展示如何使用 saveSnapshot() 将图像保存到磁盘。这比第一种方法不太理想,因为您必须进行磁盘 i/o,但我仍然会提到它。然后,您可以将其作为 QPixmap 读入您的 Qt 应用程序:

    cam = Device()
    cam.saveSnapshot('image.jpg')
    
    qPixmap = QtGui.QPixmap('image.jpg')
    

    执行第一种方法。它更快更高效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多