How to print brightness using OpenCV and PyQt

How to print brightness using OpenCV and PyQt
0

I have been trying to click a button and print brightness. When i click button i see this error message
Process finished with exit code 1

Here is my try

main.py

from PyQt5.QtWidgets import QApplication
from views import UI_Window
from models import Camera
 
if __name__ == '__main__': 
 
    camera = Camera(0) #0, webcam numarasi
 
    app = QApplication([])
    start_window = UI_Window(camera)
    start_window.show()
    app.exit(app.exec_())

views.py

from PyQt5.QtCore import QThread, QTimer
from PyQt5.QtWidgets import QLabel, QWidget, QPushButton, QVBoxLayout, QApplication, QHBoxLayout, QMessageBox,  QMainWindow
from PyQt5.QtGui import QPixmap, QImage
from models import Camera
 

class UI_Window(QWidget):
 
    def __init__(self, cam_num):
        super().__init__()
        self.cam_num = cam_num
        self.cam_num.open()
 
        # Create a timer.
        self.timer = QTimer()
        self.timer.timeout.connect(self.nextFrameSlot)
        self.timer.start(1000. / 24)
 
        layout = QVBoxLayout()
        button_layout = QHBoxLayout()
        btnCamera = QPushButton("Print Brightness")
        btnCamera.clicked.connect(self.print_brightness)
        button_layout.addWidget(btnCamera)
        layout.addLayout(button_layout)
 
 
        # Add a label
 
        self.setLayout(layout)

    def nextFrameSlot(self):
 
        frame = self.cam_num.read()
 
        if frame is not None:
            image = QImage(frame, frame.shape[1], frame.shape[0], QImage.Format_RGB888) #    The image is stored using a 24-bit RGB format (8-8-8).
            self.pixmap = QPixmap.fromImage(image)
 
    def print_brightness(self):
        print(Camera.get_brightness())

models.py

import cv2
class Camera:

    def __init__(self, cam_num):

        self.cap = cv2.VideoCapture(cam_num)
        self.cam_num = cam_num

    def open(self, width=640, height=480, fps=30):
        # vc.set(5, fps)  #set FPS
        self.cap.set(3, width)   # set width #propID =
        self.cap.set(4, height)  # set height

        return self.cap.isOpened()

    def read(self):
        rval, frame = self.cap.read()
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        return frame

    def get_brightness(self):
        return self.cap.get(cv2.CAP_PROP_BRIGHTNESS)

Welcome, Hernan.

I am not familiar with PyQt, but is this a typo:

self.timer.start(1000. / 24)

Thanks for reply, no this line is not the reason