Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 视频捕获和pyqt_Python_Pyqt_Webcam_Qpixmap - Fatal编程技术网

Python 视频捕获和pyqt

Python 视频捕获和pyqt,python,pyqt,webcam,qpixmap,Python,Pyqt,Webcam,Qpixmap,我使用这个库来捕获网络摄像头。但我不明白它是如何将视频流发送到qpixmap的。如果您查看该库的文档,您会发现它非常简短 有两种方法,我可以告诉你,你可以把你的图像到Qt 最佳方式-直接进入QImage getImage()声明它将返回一个PIL图像。如果您使用的是最新版本的PIL,那么它有一个名为ImageQt的模块,可以获取PIL图像对象并返回QImage。从这里可以将其转换为QPixmap: from PyQt4 import QtCore, QtGui from VideoCapture

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

的。如果您查看该库的文档,您会发现它非常简短

有两种方法,我可以告诉你,你可以把你的图像到Qt

最佳方式-直接进入QImage

getImage()
声明它将返回一个PIL图像。如果您使用的是最新版本的PIL,那么它有一个名为ImageQt的模块,可以获取PIL图像对象并返回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')
做第一种方法。它更快更高效