Unsolved OpenCv Python Problem PyQt5
-
Hi I am Developing a Project with Python Opencv Pyqt. An application that starts the camera recognition that starts and stops the camera. But I can't turn on the camera in Qlabelin Codes This way I wonder how I can fix this error.
// import cv2 import sys from PyQt5.QtCore import QTimer from PyQt5.QtGui import QImage, QPixmap from PyQt5.QtWidgets import QApplication, QDialog from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Yuztanima(object): def setupUi(self, Yuztanima): Yuztanima.setObjectName("Yuztanima") Yuztanima.setWindowModality(QtCore.Qt.NonModal) Yuztanima.resize(1098, 896) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("Giris/Flag_of.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) Yuztanima.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(Yuztanima) self.centralwidget.setObjectName("centralwidget") self.imgLabel = QtWidgets.QLabel(self.centralwidget) self.imgLabel.setGeometry(QtCore.QRect(240, 80, 640, 480)) self.imgLabel.setFrameShape(QtWidgets.QFrame.Box) self.imgLabel.setText("") self.imgLabel.setObjectName("imgLabel") self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget) self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 700, 1081, 151)) self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") self.Menuduzen_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) self.Menuduzen_2.setContentsMargins(0, 0, 0, 0) self.Menuduzen_2.setObjectName("Menuduzen_2") self.startButton = QtWidgets.QPushButton(self.horizontalLayoutWidget) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("../../Desktop/camera-play-699330.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.startButton.setIcon(icon1) self.startButton.setIconSize(QtCore.QSize(100, 100)) self.startButton.setObjectName("startButton") self.startButton.clicked.connect(self.start_webcam) self.Menuduzen_2.addWidget(self.startButton) self.stopButton = QtWidgets.QPushButton(self.horizontalLayoutWidget) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("../../Desktop/stop_song_red-512.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.stopButton.setIcon(icon2) self.stopButton.setIconSize(QtCore.QSize(100, 100)) self.stopButton.setObjectName("stopButton") self.stopButton.clicked.connect(self.stop_webcam) self.Menuduzen_2.addWidget(self.stopButton) self.yuztanimabaslatbutton = QtWidgets.QPushButton(self.horizontalLayoutWidget) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap("Turkce/YuzTanima.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.yuztanimabaslatbutton.setIcon(icon3) self.yuztanimabaslatbutton.setIconSize(QtCore.QSize(100, 100)) self.yuztanimabaslatbutton.setObjectName("yuztanimabaslatbutton") self.Menuduzen_2.addWidget(self.yuztanimabaslatbutton) self.cikisbutton = QtWidgets.QPushButton(self.horizontalLayoutWidget) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap("Giris/erase_delete_remove_wipe_out-512.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.cikisbutton.setIcon(icon4) self.cikisbutton.setIconSize(QtCore.QSize(100, 100)) self.cikisbutton.setObjectName("cikisbutton") self.Menuduzen_2.addWidget(self.cikisbutton) Yuztanima.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(Yuztanima) self.menubar.setGeometry(QtCore.QRect(0, 0, 1098, 26)) self.menubar.setObjectName("menubar") Yuztanima.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(Yuztanima) self.statusbar.setObjectName("statusbar") Yuztanima.setStatusBar(self.statusbar) self.retranslateUi(Yuztanima) self.cikisbutton.clicked.connect(Yuztanima.close) QtCore.QMetaObject.connectSlotsByName(Yuztanima) self.image = None def retranslateUi(self, Yuztanima): _translate = QtCore.QCoreApplication.translate Yuztanima.setWindowTitle(_translate("Yuztanima", "Yuz Tanıma Yazılımı")) self.startButton.setText(_translate("Yuztanima", "Kamerayı Başlat")) self.stopButton.setText(_translate("Yuztanima", "Kamerayı Durdur")) self.yuztanimabaslatbutton.setText(_translate("Yuztanima", "Yuz Tanımayı Başlat")) self.cikisbutton.setText(_translate("Yuztanima", "Çıkış")) def start_webcam(self): self.capture = cv2.VideoCapture(0) self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640) self.timer = QTimer(self) self.timer.timeout.connect(self.update_frame) self.timer.start(5) def update_frame(self): ret, self.image = self.capture.read() self.image = cv2.flip(self.image, 1) self.displayImage(self.image, 1) def stop_webcam(self): self.timer.stop() def displayImage(self, img): qformat = QImage.Format_Indexed8 if len(img.shape) == 3: if img.shape[2] == 4: qformat = QImage.Format_RGBA8888 else: qformat = QImage.Format_RGB888 outImage = QImage(img, img.shape[1], img.shape[0], img.strides[0], qformat) outImage = outImage.rgbSwapped() if Yuztanima == 1: self.imgLabel.setPixmap(QPixmap.fromImage(outImage)) self.imgLabel.setScaledContents(True) if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) Yuztanima = QtWidgets.QMainWindow() ui = Ui_Yuztanima() ui.setupUi(Yuztanima) Yuztanima.show() sys.exit(app.exec_())
-
Hi and welcome to devnet,
@ZagrosCudi said in OpenCv Python Problem PyQt5:
if Yuztanima == 1:
That looks suspicious. What is the type of Yuztanima and why check whether it equals to 1 ?