Pyqt5 Live Image в главном окнеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pyqt5 Live Image в главном окне

Сообщение Anonymous »

Я делаю приложение для управления камерой. У меня есть главное окно, где будет показано живое изображение того, что снимает камера. Тем не менее, у меня есть кнопка «Пуск» и «Конец» в другом окне, встроенное в Qwidget. В окне Qwidget появляется изображение, я попытался сделать логику, чтобы отправить ее в основной вид, но до сих пор без эффекта. Кто -нибудь знает, в чем может быть моя проблема?
Спасибо всем!

Код: Выделить всё

class CameraControl(QWidget):
frame_ready = pyqtSignal(QImage)
def __init__(self, update_callback=None):
super().__init__()
self.update_callback = update_callback
self.init_ui()
def init_ui(self):
------Code--------
def start_camera(self):
------Code--------
def stop_camera(self):
------Code--------
def update_frame(self):
image, status = self.stream.wait()
if status == cvb.WaitStatus.Ok:
frame = cvb.as_array(image, copy=True)
# Normalize if 16-bit
if frame.dtype == np.uint16:
frame = cv2.normalize(frame, None, 0, 255,
cv2.NORM_MINMAX).astype(np.uint8)
# Resize for display
frame = cv2.resize(frame, (0, 0), fx=0.5, fy=0.5,
interpolation=cv2.INTER_AREA)
# Convert to QImage format
h, w = frame.shape
qt_image = QImage(frame.data, w, h, w, QImage.Format_Grayscale8)
if self.update_callback:
print("[DEBUG] frame_ready signal emitted!")
self.frame_ready.emit(qt_image)
< /code>
Главное окно класса < /p>
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.camera_control = CameraControl(self.update_video_feed)
self.camera_control.frame_ready.connect(self.update_video_feed)
self.initUI()
def initUI(self):
# Video Feed Labe
self.video_label = QLabel(self)
self.video_label.setAlignment(QtCore.Qt.AlignCenter)
self.video_label.setFixedSize(640, 480)  # Default size
self.layout.addWidget(self.video_label, 1, 1, 2, 3)
------Code--------
def update_video_feed(self, image):
if image.isNull():
print("[ERROR] Received an invalid image!")
return
print("[DEBUG] Displaying frame in main window")
self.video_label.setPixmap(QtGui.QPixmap.fromImage(image))
self.video_label.repaint()
print print ("[debug] отображение кадра в главном окне") работает, он отправляет его в главное окно, он просто не отображает.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ain-window
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Положение метки pyqt5 в главном окне
    Гость » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Положение метки pyqt5 в главном окне
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • JQuery Live Blur и Live Focus
    Anonymous » » в форуме Jquery
    0 Ответы
    85 Просмотры
    Последнее сообщение Anonymous
  • Файл index.php не перезагружается в реальном времени с расширением Live Server VS Code, веб-расширением Live Server и ра
    Anonymous » » в форуме Php
    0 Ответы
    157 Просмотры
    Последнее сообщение Anonymous
  • Laragon + Visual Studio PHP Server и Live Server + Live Server Web Advension, а не автоматическая загрузка вместе
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»