我正在使用opencv3用我的网络摄像头捕捉图像。然后使用PyQt5显示要标记的图像。下面是我的代码。我在这里遇到的问题是,在图像被捕捉后,相机无法分离。我必须手动关闭程序/停止脚本,相机灯光才会熄灭。我错过什么了吗?我的知识差距在哪里?我该怎么解决这个问题?在class View_image(QtWidgets.QWidget):
def __init__(self, parent = None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = view_image_dialog.Ui_Dialog()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.button_clicked)
def button_clicked(self):
cap = cv2.VideoCapture(0)
if cap.isOpened():
ret, frame = cap.read()
else:
ret = False
cap.release()
image_Qt=QImage(frame,frame.shape[1],frame.shape[0],QImage.Format_RGB888)
imgswap = image_Qt.rgbSwapped()
self.ui.label.setPixmap(QPixmap.fromImage(imgswap))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
c = View_image()
c.show()
sys.exit(app.exec_())
我可以捕捉图像,但捕捉图像后,相机不会分离。我可以继续捕获图像并按标签显示,但在shell中我收到一个错误/警告,如下所示:
^{pr2}$
我使用的是opencv3,Windows 10 64位,PyQt5 5.11.2