-1

私はこのライブラリhttp://videocapture.sourceforge.net/を Web カメラのキャプチャに使用しています。しかし、ビデオストリームが に送信される方法がわかりませんqpixmap

4

1 に答える 1

2

このライブラリのドキュメントを確認すると、非常に簡潔でわかりやすいことがわかります。http://videocapture.sourceforge.net/html/VideoCapture.html

イメージを Qt に取り込む方法は 2 つあります。

最善の方法 - 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)

もう一方の方法 - 最初にディスクに書き込む

このモジュールの Web サイトで提供されている例に従うとsaveSnapshot()、イメージをディスクに保存する方法が示されます。これは、ディスク i/o を実行する必要があるため、最初の方法ほど望ましくありませんが、それでも言及します。次に、それを Qt アプリに QPixmap として読み込みます。

cam = Device()
cam.saveSnapshot('image.jpg')

qPixmap = QtGui.QPixmap('image.jpg')

最初の方法を実行します。より速く、より効率的です。

于 2012-02-28T08:03:56.060 に答える