B26: cách chạy webcam, video lên trên pyqt, 2021 "lato' channel"

Описание к видео B26: cách chạy webcam, video lên trên pyqt, 2021 "lato' channel"

********************************************************************
1, Đây là kênh chat của tụi mình:
Liện hệ qua chương trình discord:   / discord  

2, hướng dẫn Qt Designer cơ bản các bạn xem ở link này nhé:
   • B1: Qt designer cơ bản, file.ui to fi...  

3, kết nối dữ liệu mysql, excel, bằng pyqt5 các bạn xem ở đây nhé:
   • D8: Kết nối dữ liệu pyqt5 và mysql vẽ...  

4. code chạy webcam trên pyqt:

import sys
pip install pyqt5
import cv2
import numpy as np
from PyQt5 import QtGui
from PyQt5.QtCore import QThread, pyqtSignal, Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow
from gui import Ui_MainWindow


class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.uic = Ui_MainWindow()
self.uic.setupUi(self)

self.uic.Button_start.clicked.connect(self.start_capture_video)
self.uic.Button_stop.clicked.connect(self.stop_capture_video)

self.thread = {}
def closeEvent(self, event):
self.stop_capture_video()
def stop_capture_video(self):
self.thread[1].stop()
def start_capture_video(self):
self.thread[1] = capture_video(index=1)
self.thread[1].start()
self.thread[1].signal.connect(self.show_wedcam)

def show_wedcam(self, cv_img):
"""Updates the image_label with a new opencv image"""
qt_img = self.convert_cv_qt(cv_img)
self.uic.label.setPixmap(qt_img)

def convert_cv_qt(self, cv_img):
"""Convert from an opencv image to QPixmap"""
rgb_image = cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB)
h, w, ch = rgb_image.shape
bytes_per_line = ch * w
convert_to_Qt_format = QtGui.QImage(rgb_image.data, w, h, bytes_per_line, QtGui.QImage.Format_RGB888)
p = convert_to_Qt_format.scaled(800, 600, Qt.KeepAspectRatio)
return QPixmap.fromImage(p)

class capture_video(QThread):
signal = pyqtSignal(np.ndarray)
def __init__(self, index):
self.index = index
print("start threading", self.index)
super(capture_video, self).__init__()

def run(self):
cap = cv2.VideoCapture(0) # 'D:/8.Record video/My Video.mp4'
while True:
ret, cv_img = cap.read()
if ret:
self.signal.emit(cv_img)
def stop(self):
print("stop threading", self.index)
self.terminate()

if _name_ == "__main__":
app = QApplication(sys.argv)
main_win = MainWindow()
main_win.show()
sys.exit(app.exec())

👉Chào mừng các bạn đã đến với kênh Lato’channel!!!
👍Là Kênh Chuyên đăng tải những video đa dạng về cuộc sống, giải trí… Nhằm mang đến cho tất cả quý vị và các bạn những hướng dẫn có ích, Và những giây phút thư giản sau những giờ làm việc mệt mỏi..
Nếu các bạn yêu thích và quan tâm thì hãy nhấn đăng ký kênh để theo dõi và ủng hộ cho Lato nhé...Chân thành Cảm ơn Mọi Người Rất Nhiều..!!
Đăng Ký Kênh👇FREE (miễn phí)    / @latochannel  
Tránh làm phiền bạn có thể không bấm vào biểu tượng quả chuông.
Video Gốc Bản Quyền Thuộc Về Lato’channel. © Copyright by Lato’channel
👉 Vui lòng không làm mới lại(reup)👉 Do not Reup

Комментарии

Информация по комментариям в разработке