나는 웹 캠 캡처에이 라이브러리 http://videocapture.sourceforge.net/을 사용합니다. 하지만 비디오 스트림이 qpixmap
에 어떻게 전송되는지 이해할 수 없습니다.videocapture and pyqt
-1
A
답변
2
이 라이브러리의 설명서를 체크 아웃하면 매우 짧고 다정합니다. 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를해야하기 때문에 첫 번째 방법보다 덜 바람직하지만 여전히 언급 할 것입니다. 그런 다음 QP 앱으로 QPixmap으로 읽습니다.
cam = Device()
cam.saveSnapshot('image.jpg')
qPixmap = QtGui.QPixmap('image.jpg')
첫 번째 방법을 수행하십시오. 더 빠르고 효율적입니다.