2014-06-23 4 views
0

안녕 모두를 사용하여 라이브 비디오 스트림 정지,PyQtGraph : 이미지 뷰

나는 카메라를 위해 GUI를 쓰고 있어요 내가 카메라에서 라이브 스트림 위젯을 가지고 싶습니다.

def updateview(): 
    global img, camera 
    img.setImage(camera.most_recent_image(camera.detector_shape)) 

win = QtGui.QWidget() 

# Image widget 
imagewidget = pg.GraphicsLayoutWidget() 
view = imagewidget.addViewBox() 
view.setAspectLocked(True) 
img = pg.ImageItem(border='w') 
view.addItem(img) 
view.setRange(QtCore.QRectF(0, 0, 512, 512)) 

layout = QtGui.QGridLayout() 
win.setLayout(layout) 
layout.addWidget(imagewidget, 1, 2, 3, 1) 
win.show() 

viewtimer = QtCore.QTimer() 
viewtimer.timeout.connect(updateview) 
viewtimer.start(0) 

app.exec_() 
viewtimer.stop() 

이 실제로 작동하고 사실 아니었다면 나는 또한 강도 히스토그램을 필요가 그것으로 행복 할 것입니다 : 예 중 하나를 다음

, 나는 이런 식으로하고 있어요 쪽.

def updateview(): 
    global img, camera 
    img.setImage(camera.most_recent_image(camera.detector_shape), 
       autoHistogramRange=False) 

win = QtGui.QWidget() 
img = pg.ImageView() 
layout = QtGui.QGridLayout() 
win.setLayout(layout) 
layout.addWidget(img, 1, 2, 3, 1) 

몇 프레임이에서만 작동하고 전체 GUI가 정지 (나는 이미지를 변경하고 히스토그램을 따라 이동 볼 수 있습니다) :

그래서 나는 다음과 같이 첫 번째 단락을 변경했습니다. 이 행동을 본 사람이 있습니까? 고급의

감사

페데리코

답변

1

첫째, 이것은 이미지 뷰 않고 히스토그램/콘트라스트 제어를 사용하는 것이 가능하다. 참조 : https://github.com/pyqtgraph/pyqtgraph/blob/develop/examples/imageAnalysis.py

얼어 붙는 것에 대해 : 카메라에서 당기기보다는 임의의 데이터를 생성하는 코드를 실행하면 정상적으로 실행됩니다. 문제가 다른 곳에 있다고 생각합니다. 아마도 여러 스레드를 잘못 사용하고 있습니까? 보다 완벽한 예제를 게시하고 프로그램 중단 지점을 확인하기 위해 몇 가지 테스트를 수행해야 할 수도 있습니다.

+0

루크에 감사드립니다! ImageView가 없으면 멈추지 않습니다! – Federico