教你用Python控制摄像头录制视频~
发布时间
阅读量:
阅读量
导语


Python如何下载网页上的图片呢?
嘿Hey!今天为大家带来一个有趣的Python应用小程序介绍!就是通过Python实现摄像头实时视频监控与存储功能的一个简单案例哦!

各位技术爱好者耐心往下看哦👇👇✨, 通过学习掌握相关技术后, 你也可以自行开发一套完整的摄像头控制系统!
那么如何用Python编程来实现呢?😳😳
下面,我一步步演示,希望大家能够受到启发!

用Python代码实现照片阅读器功能,主要有7步。
第一步:导入需要的依赖库。
这里面主要用到三个库:
(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)定义并初始化菜单。
其主要功能在于创建文件菜单中的打开视频子菜单。进而对该子菜单绑定触发事件以启动摄像头设备的实时录像操作。
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)定义打开摄像头视频录制函数。
主要功能是打开摄像头,并读取帧进行写入存储。
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))
第七步:运行窗体主循环。

以上就是通过Python编程控制摄像头来 实现 录制视频 的一种方法,请看以下具体代码
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 )
37. 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'
51. root. resizable (2550, 2550)
53. 1abel = tkinter. Labe1 (root)
55. 1abel. pack (padx=10, pady=10)
57. init_ frame (root)
59. camera = cv2. VideoCapture (0)
61. save_ path = r' C: Users Administrator Desktop/video_ out_ save. mp4'video_ fourcc = cv2. VideoWriter fourcc(*' XVID' )
63. video_ out save = cv2. VideoWriter (save path, video_ fourc
65. H;XE
67. root. mainloop 0

end

今日分享到这就结束了~希望你们能够喜欢!记得给小编个三连再走哦!
家人萌的支持是小编更新最大的动力 ✨
各位粉丝们请注意:想要获取更多的完整代码资源以及深入的学习资料,请点击此处查看。
全部评论 (0)
还没有任何评论哟~
