溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python控制攝像頭錄制視頻

發(fā)布時間:2022-03-04 10:20:03 來源:億速云 閱讀:156 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“怎么使用Python控制攝像頭錄制視頻”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么使用Python控制攝像頭錄制視頻”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

效果:

怎么使用Python控制攝像頭錄制視頻

用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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI