Commit for Gitea

This commit is contained in:
DuOtto
2026-04-28 12:14:58 +02:00
parent 225ecc2e17
commit a12182baa2
116 changed files with 2630 additions and 381 deletions
+67
View File
@@ -0,0 +1,67 @@
import cv2, numpy as np
from Tbd.helper import CameraObject
from PySide6.QtCore import Qt, QTimer, QSize
from PySide6.QtGui import QImage, QPixmap
from PySide6.QtWidgets import QWidget, QLabel, QVBoxLayout, QSizePolicy, QHBoxLayout, QLineEdit, QPushButton
from typing import List
from PySide6.QtWidgets import QScrollArea, QFrame
class CameraSetupWidget(QWidget):
def __init__(self, cameraObject: CameraObject):
super().__init__()
self.cameraObject = cameraObject
self.mainLayout = QHBoxLayout(self)
self.frame_preview_widget = QLabel()
self.preview_max_size = QSize(800, 600)
self.frame_preview_widget.setMaximumSize(self.preview_max_size)
self.camerOptionsLayout = QVBoxLayout()
self.start_preview_button = QPushButton("Start")
self.stop_preview_button = QPushButton("Stop")
self.camerOptionsLayout.addWidget(self.start_preview_button)
self.camerOptionsLayout.addWidget(self.stop_preview_button)
self.mainLayout.addLayout(self.camerOptionsLayout)
self.mainLayout.addWidget(self.frame_preview_widget)
self.start_preview_button.clicked.connect(self._start_camera_preview)
self.stop_preview_button.clicked.connect(self._stop_camera_preview)
self.frame_update_timer = QTimer(self)
self.frame_update_timer.timeout.connect(self._update_frame)
def _start_camera_preview(self):
self.frame_update_timer.start(30)
def _stop_camera_preview(self):
self.frame_update_timer.stop()
def _update_frame(self):
ok, frame = self.cameraObject.capture.read()
if not ok or frame is None:
return
frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
height, width, ch = frame_rgb.shape
qimg = QImage(frame_rgb.data, width, height, ch * width, QImage.Format_RGB888)
pixmap = QPixmap.fromImage(qimg)
pixmap = pixmap.scaled(
self.frame_preview_widget.maximumSize(),
Qt.KeepAspectRatio,
Qt.SmoothTransformation,
)
self.frame_preview_widget.setPixmap(pixmap)