如何使用Python控制攝像頭錄制視頻
導(dǎo)語:
?Python如何下載網(wǎng)頁上的圖片呢?
今天小編給大家分享另一個Python應(yīng)用小程序,就是:用Python控制攝像頭錄制視頻!
學(xué)會了也可以做一個屬于自己的攝像頭控制程序!
那么如何用Python編程來實現(xiàn)呢?
用Python代碼實現(xiàn)照片閱讀器功能,主要有7步:
第一步:導(dǎo)入需要的依賴庫。
這里面主要用到三個庫:
- (1)tkinter庫:用于界面制作
- (2)PIL庫:用于圖片處理
- (3)cv2庫:用于視頻捕獲
impor tcv2 impor ttkinter from PIL import Image, ImageTk
第二步:定義控制攝像頭錄制視頻的窗體。
主要是定義一個控制攝像頭錄制視頻的窗體。
root = tkinter. Tk() root. title("視頻攝像") root. geometry ( 800x500') root. resi zable (2550, 2550)
第三步:定義并初始化視頻顯示控件。
主要是定義并初始化一個視頻展示的顯示控件框
1 abeltkinter. Label (root) label. pack (padx=10, pady=10)
第四步:定義并初始化窗體菜單。
- (1)定義并初始化菜單。
主要功能是定義文件菜單下的打開視頻子菜單,然后對打開視頻子菜單關(guān)聯(lián)控制事件:打開攝像頭視頻錄制功能。
def init_ frame (root) : menu-tkinter. Menu (root) submenul = tkinter. Menu (menu, tearoff=0) submenu1. add_ command(1abelF' fJFTtT , command=open_ vi deo)menu. add_ cascade (labe1=' x f4' ,menuFsubmenul) submenu2= tkinter. Menu (menu, tearoff=O) submenu2. add_ command (label=' #FHs4' ) menu. addcascade (label-' #G Ej' , menu- submenu2) root. confi g (menuFmenu) root. config (cursor="arrow:")l
- (2)定義打開攝像頭視頻錄制函數(shù)。
主要功能是打開攝像頭,并讀取幀進行寫入存儲。
def open_ video() : ? flag,image F camera. read O ? if flag: ? video_ out_ save. write (image) ? cv2. waitKey(10) ? cv2image = cv2. cvtColor (image,cv2. COLOR_ BGR2RGBA)curr ent_ i mage ? Image. fromarray (cv2image) ? imgtk = ImageTk. PhotoImage (image=current_ image)label. imgtk =imgtk ? labe 1. config (image= imgtk) ? root. after(1,open_ video)
第五步:定義并初始化攝像頭。
第六步:定義并初始化攝像頭錄制視頻的保存路徑和存儲寫入變量。
save_ path = r' c: Users Admini strator Desktop/video_ out_ save. mp4 video_ fourcc = cv2. VideoWriter_ fourcc(*' XVID' )1 video_ out_ save = cv2. VideoWriter (save_ path, video_ fourcc, 20. 0, (640, 480))
第七步:運行窗體主循環(huán)。
以上就是用Python
代碼實現(xiàn)一個控制攝像頭錄制視頻的方法,下面給出具體的代碼,供大家交流!
import cv2 ? import tkinter ? from PIL import Image, ImageTk ? def open_ video) : ? flag, image = camera. read) ? if flag: ? video_ out_ save. write (image) ? cv2. waitKey (10) ? cv2image = cv2. cvtColor (image, cv2. COLOR BGR2RGBA)current_ image = Image. fromarray (cv2image) ? imgtk = ImageTk. PhotoImage (image=current_ image)1abel. ingtk = imgtk ? 1abel. config (image=imgtk) ? root. after(1, open vildeo) ? def init frame (root): ? menu=tkinter. Menu (root) ? submenul = tkinter. Menu (menu, tearoff=O) ? submenul. add_ command(1abel=' fT7ZA#O' , command=open vi deo)menu. add cascade (1abe1=' X 1+' , menuFsubmenul) ? submenu2 = tkinter. Menu (menu, tearoff-O) ? submenu2. add_ command (1abe1=' #FH4 ) menu. add_ cascade (1abe1=' # E}”, menu=submenu2) ? root. config (menu-menu) ? root. config (cursor- arrow ) ? if_ name_ ==main ? root = tkinter. Tk 0 ? root. title(”i”) ? root. geometry ( 800x500' root. resizable (2550, 2550) 1abel = tkinter. Labe1 (root) 1abel. pack (padx=10, pady=10) init_ frame (root) camera = cv2. VideoCapture (0) save_ path = r' C: Users Administrator Desktop/video_ out_ save. mp4'video_ fourcc = cv2. VideoWriter fourcc(*' XVID' ) video_ out save = cv2. VideoWriter (save path, video_ fourc H;XE root. mainloop 0
到此這篇關(guān)于如何使用Python控制攝像頭錄制視頻的文章就介紹到這了,更多相關(guān)Python攝像頭控制程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法
這篇文章主要介紹了python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法,涉及Python使用正則表達式的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知)
今天小編就為大家分享一篇Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python讀取excel數(shù)據(jù)繪制簡單曲線圖的完整步驟記錄
這篇文章主要給大家介紹了關(guān)于python讀取excel數(shù)據(jù)繪制簡單曲線圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10解決pytorch load huge dataset(大數(shù)據(jù)加載)
這篇文章主要介紹了解決pytorch load huge dataset(大數(shù)據(jù)加載)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05