1. 程式人生 > >Python+Opencv+Qt4編寫Windows下攝像頭影象採集顯示程式

Python+Opencv+Qt4編寫Windows下攝像頭影象採集顯示程式

# -*- coding: utf-8 -*-



# Form implementation generated from reading ui file '1.ui'
#
# Created: Tue Nov 14 09:45:29 2017
#      by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
# -*- coding: cp936 -*-
import cv2
import numpy as np
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import *  
from PyQt4.QtCore import *
from PyQt4 import phonon
from PyQt4.QtSql import *
import sys
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s


try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(760, 439)
        self.pushButton = QtGui.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(130, 390, 75, 23))
        self.pushButton.setObjectName(_fromUtf8("開啟"))
        self.pushButton_2 = QtGui.QPushButton(Dialog)
        self.pushButton_2.setGeometry(QtCore.QRect(570, 390, 75, 23))
        self.pushButton_2.setObjectName(_fromUtf8("關閉"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(10, 31, 391, 311))
        self.label.setText(_fromUtf8(""))
        #self.label.setPixmap(QtGui.QPixmap(_fromUtf8("D:/使用者目錄/我的圖片/15.bmp")))
        self.label.setObjectName(_fromUtf8("label"))
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setGeometry(QtCore.QRect(570, 170, 54, 12))
        self.label_2.setObjectName(_fromUtf8("label_2"))


        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)


    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
        self.pushButton.setText(_translate("Dialog", "開啟", None))
        self.pushButton_2.setText(_translate("Dialog", "關閉", None))
        self.label.setText(_translate("Dialog", "視訊", None))
        self.label_2.setText(_translate("Dialog", "截圖", None))
        
        self.pushButton.clicked.connect(self.open_camer)
        self.pushButton_2.clicked.connect(self.take_picture)
    def open_camer(self):
        global cap,timer
        cap = cv2.VideoCapture(0)
        timer.start(100)
        #fourcc = cv2.cv.CV_FOURCC(*'XVID')
        #opencv3的話用:fourcc = cv2.VideoWriter_fourcc(*'XVID')
        #out = cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))#儲存視訊
        '''
        while True:
            ret,frame = cap.read()
            gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
            out.write(frame)#寫入視訊
            cv2.imshow('frame',frame)#一個視窗用以顯示原視訊
            cv2.imshow('gray',gray)#另一視窗顯示處理視訊
            if cv2.waitKey(1) &0xFF == ord('q'):
                break
        cap.release()
        out.release()
        cv2.destroyAllWindows()
        '''
    def take_picture(self):
        global timer
        timer.stop()
        
class Dialog(QtGui.QDialog):
    def __init__(self,parent=None):
        global timer
        QtGui.QWidget.__init__(self,parent)
        self.ui=Ui_Dialog()                                         # Ui_Dialog為.ui產生.py檔案中窗體類名,經測試類名以Ui_為字首,加上UI窗體物件名(此處為Dialog,見上圖)
        self.ui.setupUi(self)
        timer = QTimer(self)
        self.connect(timer, SIGNAL("timeout()"), self.updtTime)


    def updtTime(self):
        global cap
        #cap = cv2.VideoCapture(0)
        ret,frame = cap.read()
        cv2.imwrite('1.jpg', frame)
        #out.write(frame)
        self.ui.label.setPixmap(QtGui.QPixmap(_fromUtf8('1.jpg')))
if __name__ == "__main__":
    
    app = QtGui.QApplication(sys.argv)
    myapp=Dialog()
    myapp.show()
    app.exec_()
    pass

相關推薦

Python+Opencv+Qt4編寫Windows攝像頭影象採集顯示程式

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '1.ui' # # Created: Tue Nov 14 09:45:29 2017 #      by: Py

python 讀取一個資料夾所有影象

import os g = os.walk("G:") for path,d,filelist in g: for filename in filelist: if filename.endswith('jpg'): print (os.path

python:讀取資料夾影象

  本文複製後消化,部分修改後記錄 #-*- coding: UTF-8 -*- ''' 1、讀取指定目錄下的所有檔案 2、讀取指定檔案,輸出檔案內容 3、建立一個檔案並儲存到指定目錄 ''' import os # 遍歷指定目錄,顯示目錄下的所有檔名 def eachF

從零開始學caffe(九):在Windows實現影象識別

本系列文章主要介紹了在win10系統下caffe的安裝編譯,運用CPU和GPU完成簡單的小專案,文章之間具有一定延續性。 step1:準備資料集 資料集是進行深度學習的第一步,在這裡我們從以下五個連結中下載所需要的資料集: animal flower plane hou

Python-OpenCV 雜項(一):影象繪製

0x00. 繪製直線 import numpy as np import cv2 img = np.zeros((512,512,3), np.uint8) cv2.line(img,(0,0),(511,511),(255,0,0),5) cv2.imshow('ima

python+django+eclipse 在windows快速開發web專案

   之前一直聽說python是個很牛逼的語言,它可以開發網站基本上java可以實現的東西用它都可以做出來,並且它開發起來比java簡單。剛好最近要用python來開發網站專案,所以網上查了資料發現: python就是個百花齊放的世界,各種micro-framework、framework不可勝數,htt

python機器學習包 Windows pip安裝 scikit-learn numpy scipy

1.到PIP的目錄中C:\Python34\Scripts;2. 2.1  pip安裝numpy pip install numpy 2.2  pip安裝sklearn pip install -U scikit-learn   2.3  pip安裝scipy(注:sklearn 依賴

ARM9+LinuxUSB攝像頭影象採集

終於實現了在Micro2440+Linux2.6.29環境下通過NFS檔案系統實現USB攝像頭影象採集。在此,做一個總結,以備後續參考。  實驗條件:RedHat9.0(核心版本2.4.18),Micro2440開發板,Linux2.6.29(arm9),ANC

< python音訊庫:Windowspydub安裝配置、過程出現的問題及常用API >

< python音訊庫:Windows下pydub安裝配置、過程出現的問題及常用API > 背景 剛從B站上看過倒放挑戰之後也想體驗下,心血來潮一個晚上完成了基本的實現。其中倒放與播放部分使用了pydub這個音訊庫,十分快捷方便,但是它完整一套的配置讓我還是踩了幾個坑。特將其配置過程記錄於此,方

Windows環境變量顯示、設置或刪除操作詳情

line echo 相同 支持 得到 運算符 for 循環 原因 操作 顯示、設置或刪除 cmd.exe 環境變量。 SET [variable=[string]] variable 指定環境變量名。 string 指定要指派給變量的一系列字符串。 要顯示當前環境

Python+OpenCV圖像處理(一)——讀取顯示一張圖片

沒有 class 釋放資源 圖像 Coding 路徑 troy 如果 nco   配置好所有環境後,開始利用python+opencv進行圖像處理第一步。   讀取和顯示一張圖片: import cv2 as cv src=cv.imread(‘E:\imageload\

WindowsCMD命令列顯示UTF-8字元

在中文windows系統中,如果一個文字檔案是utf-8編碼的,那麼在cmd.exe命令列視窗(所謂的dos視窗)中不能正確顯示檔案中的內容。在預設情況下,命令列視窗中使用的內碼表是中文或者美國的,即編碼是中文字符集或者西文字符集。 如果想正確顯示UTF-8字元,可以按照以下步驟操作:

大資料求索(5):Windows使用IDEA開發Kafka程式和伺服器通訊失敗問題

問題描述 在windows下使用IDEA開發完生產者程式以後,在伺服器端開啟消費者程序,發現傳送失敗,無法進行通訊,報錯如下: kafka .FailedToSendMessageException: Failed to send messages after 3 tries

Windows配置apache跑fcgi程式

        FastCGI程式可以用c++語言來寫,使得我們在動態生成一個網站的時候可以更加靈活,除了呼叫c++庫之外,還可以加入平臺的API,本來在linux下跑起來的fastCGI程式,沒想到移植到Windows平臺下還是會出現很多問題,當你抓破腦袋都想不出問題所在

QT程式Windows製作安裝包釋出程式的方法

設計完成時,用release方式編譯程式,把生成的EXE檔案和其依賴的庫放在一個資料夾中,用setup2go生成安裝檔案。 好,我們啟動程式,選擇檔案>>>>>>>新建工程。 儲存工程專案 出現了安裝配置欄目,我們

Windows 後臺執行命令列程式

背景 想在後臺用vboxheadless啟動一個vbox虛擬機器,然後用ssh連上去。 可是vboxheadless非要弄一個命令列視窗在工作列上,實在太醜了。 解決方案 通常的解決方案是寫個vbs指令碼,以hide方式呼叫一個程序,不感冒。 聽說Wi

windows執行mask-rcnn示例程式踩過的坑

環境:win10,keras2.1.6,python3.6,ensorflow1.8-gpu 錯誤一:       執行D:\python\jupyter\Mask_RCNN-master\samples目錄下的demo.ipynb檔案,用jupyter notebo

Windows用Scons編譯QT程式

關於什麼是python、什麼是scons、什麼是qt……這些膚淺、粗俗的問題,請求助於搜尋引擎。  本文僅記錄怎麼在Windows系統上讓這幾位合作起來。 注意:  1. 前提是系統已經安裝有QT SDK,安裝有VC(或者MingW或者Cygwin之類的編譯環境)。  2. 注意文中路

Windows利用bat批量開啟程式

在工作中,每次開機會流程化的開啟很多軟體,比如:sublime text、notepad++(總覺得用notepad看txt檔案比較順眼)、spyder、微信、qq……,手動挨個點太麻煩,設定為開機啟動的話又太慢(由於裝了Oracle,開機已經很慢了)。後來瞭解到可以用bat

OV7725攝像頭影象採集基礎知識

目前FPGA用於影象採集 傳輸 處理 顯示應用越來越多,主要原因是影象處理領域的火熱以及FPGA強大的並行處理能力。本文以OV7725為例,對攝像頭使用方面的基礎知識做個小的總結,為後續做個鋪墊。   XCLK:工作時鐘輸入,由主控器產生,頻率為24MH