pyqt5 使用cv2 顯示圖片,攝像頭

      網(wǎng)友投稿 1118 2022-05-29

      #! /usr/bin/python3

      # coding = utf-8

      # from PyQt5 import QtGui,QtCore,Qt

      import sys

      from PyQt5.QtCore import Qt,pyqtSignal,QSize,QRect,QMetaObject, QCoreApplication, pyqtSlot,QPropertyAnimation,QThread

      from PyQt5.QtGui import QIcon, QFont, QPixmap, QPainter, QImage

      from PyQt5.QtWidgets import QMainWindow, QApplication

      import cv2

      from gevent.libev.corecext import SIGNAL, time

      from qtpy importQtCore

      class mycsms(QMainWindow):

      def __init__(self):

      super(mycsms, self).__init__()

      self.setupUi(self)

      self.image= QImage()

      self.device= cv2.VideoCapture(0)

      self.playTimer= Timer("updatePlay()")

      self.connect(self.playTimer, SIGNAL("updatePlay()"), self.showCamer)

      # 讀攝像頭

      def showCamer(self):

      if self.device.isOpened():

      ret, frame= self.device.read()

      else:

      ret = False

      # 讀寫磁盤方式

      # cv2.imwrite("2.png",frame)

      #self.image.load("2.png")

      height, width, bytesPerComponent= frame.shape

      bytesPerLine = bytesPerComponent* width

      # 變換彩色空間順序

      cv2.cvtColor(frame, cv2.COLOR_BGR2RGB,frame)

      # 轉(zhuǎn)為QImage對象

      self.image= QImage(frame.data, width, height, bytesPerLine, QImage.Format_RGB888)

      self.view.setPixmap(QPixmap.fromImage(self.image))

      if __name__ == "__main__":

      app = QApplication(sys.argv)

      myshow = mycsms()

      myshow.playTimer.start()

      myshow.show()

      sys.exit(app.exec_())

      # 線程類:

      class Timer(QtCore.QThread):

      pyqt5 使用cv2 顯示圖片,攝像頭

      def __init__(self, signal="updateTime()", parent=None):

      super(Timer, self).__init__(parent)

      self.stoped= False

      self.signal= signal

      self.mutex= QtCore.QMutex()

      def run(self):

      with QtCore.QMutexLocker(self.mutex):

      self.stoped= False

      while True:

      if self.stoped:

      return

      self.emit(QtCore.SIGNAL(self.signal))

      #40毫秒發(fā)送一次信號

      time.sleep(0.04)

      def stop(self):

      with QtCore.QMutexLocker(self.mutex):

      self.stoped= True

      def isStoped(self):

      with QtCore.QMutexLocker(self.mutex):

      return self.stoped

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:這個暑假,我們也要大放“價(jià)”!
      下一篇:從部署和運(yùn)維說說DLI(2)
      相關(guān)文章
      久久综合亚洲色hezyo| 久久精品国产亚洲综合色| 久久亚洲AV成人无码国产| 亚洲精品无码永久中文字幕| 亚洲国产一区明星换脸| 久久亚洲最大成人网4438| 亚洲理论在线观看| 亚洲a视频在线观看| 日韩亚洲国产高清免费视频| 亚洲中文字幕无码中文| 亚洲av无码偷拍在线观看| 日韩国产精品亚洲а∨天堂免| 亚洲国产精品无码中文lv| 亚洲国产成人久久综合| 在线观看亚洲免费视频| 亚洲精品无码AV中文字幕电影网站| 亚洲国产高清在线一区二区三区 | 内射少妇36P亚洲区| 亚洲黄网在线观看| 亚洲综合网美国十次| 亚洲一级毛片在线播放| 亚洲中文字幕无码爆乳| 亚洲狠狠婷婷综合久久蜜芽| 亚洲av日韩av欧v在线天堂| 2022中文字字幕久亚洲| 国产亚洲av片在线观看16女人| 久久亚洲综合色一区二区三区| 亚洲av无码不卡| 亚洲视频免费在线看| 亚洲精品免费网站| 精品国产日韩亚洲一区在线| 国产黄色一级毛片亚洲黄片大全| 久久被窝电影亚洲爽爽爽| 日韩精品亚洲人成在线观看| 亚洲精品国产成人中文| 亚洲日本一线产区和二线| 亚洲国产精品一区二区三区久久| 亚洲精品无码乱码成人| 亚洲精品影院久久久久久| 亚洲欧美成aⅴ人在线观看| heyzo亚洲精品日韩|