如何使用Python控制摄像头录制视频

 更新时间:2022年03月04日 08:40:25   作者:车厘子@  
这篇文章主要介绍了如何使用Python控制摄像头录制视频,实现过程需要用到三个库tkinter库、PIL库、cv2库,下面将内容详细的一步一步实现,希望对你有所启发并能做一个属于自己的摄像头控制程序

导语:

​Python如何下载网页上的图片呢?

今天小编给大家分享另一个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 )
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控制摄像头录制视频的文章就介绍到这了,更多相关Python摄像头控制程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用正则表达式分析网页中的图片并进行替换的方法

    python使用正则表达式分析网页中的图片并进行替换的方法

    这篇文章主要介绍了python使用正则表达式分析网页中的图片并进行替换的方法,涉及Python使用正则表达式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Django后端发送小程序微信模板消息示例(服务通知)

    Django后端发送小程序微信模板消息示例(服务通知)

    今天小编就为大家分享一篇Django后端发送小程序微信模板消息示例(服务通知),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python读取excel数据绘制简单曲线图的完整步骤记录

    python读取excel数据绘制简单曲线图的完整步骤记录

    这篇文章主要给大家介绍了关于python读取excel数据绘制简单曲线图的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 解决pytorch load huge dataset(大数据加载)

    解决pytorch load huge dataset(大数据加载)

    这篇文章主要介绍了解决pytorch load huge dataset(大数据加载)的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python使用回溯法子集树模板解决迷宫问题示例

    Python使用回溯法子集树模板解决迷宫问题示例

    这篇文章主要介绍了Python使用回溯法解决迷宫问题,简单讲述了迷宫问题的原理并结合实例形式分析了Python基于回溯法子集树模板解决迷宫问题的相关操作技巧与注意事项,需要的朋友可以参考下
    2017-09-09
  • python虚拟机之描述器实现原理与源码分析

    python虚拟机之描述器实现原理与源码分析

    在本篇文章当中主要给大家介绍描述器背后的实现原理,通过分析 cpython对应的源代码了解与描述器相关的字节码的指令,我们就可以真正了解到描述器背后的原理,需要的朋友可以参考下
    2023-05-05
  • Python全字段断言之DeepDiff模块详解

    Python全字段断言之DeepDiff模块详解

    这篇文章主要介绍了Python全字段断言之DeepDiff模块详解,Python中也提供了deepdiff库,常用来校验两个对象是否一致,包含3个常用类,DeepDiff,DeepSearch和DeepHash,,需要的朋友可以参考下
    2023-08-08
  • 浅谈Python面向对象编程oop思想心得

    浅谈Python面向对象编程oop思想心得

    最近在给一个小表弟教Python,主要是给他推荐了本入门书籍自学,大部分内容都还算顺利,到对象一节立马抓瞎。当然这也在我的预料之内,OOP本就是新手最难理解和掌握的部分
    2021-09-09
  • Pytorch可视化的几种实现方法

    Pytorch可视化的几种实现方法

    本文主要介绍了Pytorch可视化,主要介绍了3中使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Python字典和列表性能之间的比较

    Python字典和列表性能之间的比较

    今天给大家介绍的是Python列表和字典的相关知识,文中对Python字典和列表的性能作了充分的比较,好奇的小伙伴们一起来看看吧,需要的朋友可以参考下
    2021-06-06

最新评论