如何使用Python控制攝像頭錄制視頻
導(dǎo)語(yǔ):
?Python如何下載網(wǎng)頁(yè)上的圖片呢?
今天小編給大家分享另一個(gè)Python應(yīng)用小程序,就是:用Python控制攝像頭錄制視頻!
學(xué)會(huì)了也可以做一個(gè)屬于自己的攝像頭控制程序!
那么如何用Python編程來(lái)實(shí)現(xiàn)呢?
用Python代碼實(shí)現(xiàn)照片閱讀器功能,主要有7步:
第一步:導(dǎo)入需要的依賴庫(kù)。
這里面主要用到三個(gè)庫(kù):
- (1)tkinter庫(kù):用于界面制作
- (2)PIL庫(kù):用于圖片處理
- (3)cv2庫(kù):用于視頻捕獲
impor tcv2 impor ttkinter from PIL import Image, ImageTk
第二步:定義控制攝像頭錄制視頻的窗體。
主要是定義一個(gè)控制攝像頭錄制視頻的窗體。
root = tkinter. Tk() root. title("視頻攝像") root. geometry ( 800x500') root. resi zable (2550, 2550)
第三步:定義并初始化視頻顯示控件。
主要是定義并初始化一個(gè)視頻展示的顯示控件框
1 abeltkinter. Label (root) label. pack (padx=10, pady=10)
第四步:定義并初始化窗體菜單。
- (1)定義并初始化菜單。
主要功能是定義文件菜單下的打開(kāi)視頻子菜單,然后對(duì)打開(kāi)視頻子菜單關(guān)聯(lián)控制事件:打開(kāi)攝像頭視頻錄制功能。
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)定義打開(kāi)攝像頭視頻錄制函數(shù)。
主要功能是打開(kāi)攝像頭,并讀取幀進(jìn)行寫入存儲(chǔ)。
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)
第五步:定義并初始化攝像頭。
第六步:定義并初始化攝像頭錄制視頻的保存路徑和存儲(chǔ)寫入變量。
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))
第七步:運(yùn)行窗體主循環(huán)。
以上就是用Python
代碼實(shí)現(xiàn)一個(gè)控制攝像頭錄制視頻的方法,下面給出具體的代碼,供大家交流!
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用正則表達(dá)式分析網(wǎng)頁(yè)中的圖片并進(jìn)行替換的方法
這篇文章主要介紹了python使用正則表達(dá)式分析網(wǎng)頁(yè)中的圖片并進(jìn)行替換的方法,涉及Python使用正則表達(dá)式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知)
今天小編就為大家分享一篇Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python讀取excel數(shù)據(jù)繪制簡(jiǎn)單曲線圖的完整步驟記錄
這篇文章主要給大家介紹了關(guān)于python讀取excel數(shù)據(jù)繪制簡(jiǎn)單曲線圖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10解決pytorch load huge dataset(大數(shù)據(jù)加載)
這篇文章主要介紹了解決pytorch load huge dataset(大數(shù)據(jù)加載)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python使用回溯法子集樹(shù)模板解決迷宮問(wèn)題示例
這篇文章主要介紹了Python使用回溯法解決迷宮問(wèn)題,簡(jiǎn)單講述了迷宮問(wèn)題的原理并結(jié)合實(shí)例形式分析了Python基于回溯法子集樹(shù)模板解決迷宮問(wèn)題的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-09-09python虛擬機(jī)之描述器實(shí)現(xiàn)原理與源碼分析
在本篇文章當(dāng)中主要給大家介紹描述器背后的實(shí)現(xiàn)原理,通過(guò)分析?cpython對(duì)應(yīng)的源代碼了解與描述器相關(guān)的字節(jié)碼的指令,我們就可以真正了解到描述器背后的原理,需要的朋友可以參考下2023-05-05