您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“怎么使用Python控制攝像頭錄制視頻”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么使用Python控制攝像頭錄制視頻”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
效果:
用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ù)。
主要功能是打開攝像頭,并讀取幀進(jìn)行寫入存儲。
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))
第七步:運(yùn)行窗體主循環(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
讀到這里,這篇“怎么使用Python控制攝像頭錄制視頻”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。