python摄像头采集视频,python获取摄像头

  python摄像头采集视频,python获取摄像头

  本文主要分享Python操作视频最基本的操作,包括视频的读取播放和视频的保存。文中的样例代码讲解的很详细,感兴趣的朋友可以看看。

  00-1010看视频从摄像头看视频,从文件播放视频,保存视频前几天,有个读者在粉丝群问了一个问题:

  Python如何提高视频清晰度和对比度?

  之前没讲过用Python操作视频,不好意思告诉读者,现在还没讲。

  想了两天,觉得应该补充一下这一块的内容。一方面可以增加自己研究的广度,另一方面可以为粉丝答疑解惑。

  今天就来分享一下Python操作视频最基本的操作,包括视频的读取播放和视频的保存。

  

目录

  要捕获视频,您需要创建一个VideoCapture对象。它的参数可以是设备索引或视频文件的名称。所以,我们阅读视频有两种方式,即从相机中阅读视频和从文件中阅读视频。

  

读取视频

  对于带摄像头的设备,比如带摄像头的笔记本电脑,我们可以直接打开电脑的摄像头,读取摄像头的视频流。

  importcv2ascv

  cap=cv。视频捕获(0)

  ifnotcap.isOpened():

  打印( Cannotopencamera )

  退出()

  whileTrue:

  #逐帧捕捉

  ret,frame=cap.read()

  如果帧被正确读取,则# ret为真

  ifnotret:

  破裂

  #显示结果框

  cv.imshow(框架,框架)

  ifcv.waitKey(1)==ord(q):

  破裂

  #所有操作完成后,释放捕捉器

  cap.release()

  cv.destroyAllWindows()

  这里,我向VideoCapture对象传入了参数0,它指示设备索引,设备索引是指定哪个摄像机的数字。通常情况下,会连接一个摄像头(就像我的情况)。所以我干脆传0。可以通过传递1来选择第二个摄像头,以此类推。

  Cap.isopen()用于确定视频是否被捕获。

  Cap.read()返回一个布尔值(真/假)。如果读框正确,则为真。因此,可以通过检查这个返回值来检查视频的结尾。

  cv.imshow方法用于显示视频的帧。播放视频的原理是一帧一帧的播放。

  最后,别忘了通过cap.release()释放俘虏。

  运行这段代码,您会看到一个弹出窗口,可以实时播放计算机摄像头中的图像。

  

从相机中读取视频

  与从摄像机捕捉相同,只是用视频文件名更改摄像机索引。

  另外,在显示视频时,可以通过cv.waitKey()控制视频播放速度。如果设置太小,视频会很快,相当于倍速播放;如果太大,视频会变得很慢,相当于延迟播放。正常情况下,25毫秒就可以了。

  importcv2ascv

  cap=cv。视频捕获( video.mp4 )

  whilecap.isOpened():

  ret,frame=cap.read()

  如果帧被正确读取,则# ret为真

  ifnotret:

  破裂

  cv.imshow(框架,框架)

  ifcv.waitKey(1)==ord(q):

  破裂

  cap.release()

  cv.destroyAllWindows()

  运行这段代码,您会看到一个弹出窗口来播放您选择的视频文件。

  

从文件中播放视频

  从摄像机中读取视频,我们可以将视频保存在本地。我们捕捉视频并逐帧处理。

  ,如果我们想要保存这个视频,非常简单,只需使用cv.VideoWriter()

  cv.VideoWriter()有5个参数:

  

  • 参数1:输出文件名,例如: output.mp4。
  • 参数2:FourCC 代码,FourCC 是用于指定视频编解码器的4字节代码。
  • 参数3:帧率的数量。
  • 参数4:帧大小。
  • 参数5:颜色标志。如果为 True,正常颜色输出,否则就是灰色图像输出。

  关于FourCC与视频格式的对照关系,我列举了一些常见的格式:

  cv2.VideoWriter_fourcc(‘P’,‘I’,‘M’,‘1’) = MPEG-1 codec

  cv2.VideoWriter_fourcc(‘M’,‘J’,‘P’,‘G’) = motion-jpeg codec --> mp4v

  cv2.VideoWriter_fourcc(‘M’, ‘P’, ‘4’, ‘2’) = MPEG-4.2 codec

  cv2.VideoWriter_fourcc(‘D’, ‘I’, ‘V’, ‘3’) = MPEG-4.3 codec

  cv2.VideoWriter_fourcc(‘D’, ‘I’, ‘V’, ‘X’) = MPEG-4 codec --> avi

  cv2.VideoWriter_fourcc(‘U’, ‘2’, ‘6’, ‘3’) = H263 codec

  cv2.VideoWriter_fourcc(‘I’, ‘2’, ‘6’, ‘3’) = H263I codec

  cv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’) = FLV1 codec

  保存视频的代码:

  

import cv2 as cv

  cap = cv.VideoCapture(0)

  # 定义编解码器并创建VideoWriter对象

  fourcc = cv.VideoWriter_fourcc(*MJPG)

  out = cv.VideoWriter(output.mp4, fourcc, 20.0, (640,  480))

  while cap.isOpened():

      ret, frame = cap.read()

      if not ret:

          break

      frame = cv.flip(frame, 1)

      # 写翻转的框架

      out.write(frame)

      cv.imshow(frame, frame)

      if cv.waitKey(1) == ord(q):

          break

  # 完成工作后释放所有内容

  cap.release()

  out.release()

  cv.destroyAllWindows()

  

  运行这段代码,你就可以在代码目录下找到一个output.mp4的视频文件了。

  上面几段代码中,如果想要退出视频操作,敲击键盘的q就可以。

  到此这篇关于基于Python实现捕获,播放和保存摄像头视频的文章就介绍到这了,更多相关Python摄像头视频内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • win10有录像功能吗,win10录屏打开摄像头
  • c#虚拟摄像头,C#摄像头
  • c#虚拟摄像头,C#摄像头,C# 利用AForge实现摄像头信息采集
  • ,,JavaScript 如何在浏览器中使用摄像头
  • iPhone12promax摄像头介绍,iPhone14摄像头
  • 双摄像头测距离原理,测距摄像头的测距原理怎么设置,单目摄像头测距原理
  • 雨课堂期末考试有摄像头吗,雨课堂考试怎么开摄像头吗
  • 相机标定外参怎么得出,摄像头内外参标定的参数,相机的内外参数标定
  • 腾讯会议能否看到学生屏幕,腾讯课堂学生开摄像头其他同学能看见吗
  • 笔记本win10怎么打开摄像头拍照,win10摄像头怎么拍照
  • 树莓派控制摄像头拍照,树莓派连接摄像头教程
  • 树莓派摄像头实时监控,树莓派实现目标检测
  • 摄像头移动检测算法软件,摄像头移动检测算法有哪些
  • 笔记本摄像头倒置怎么解决,笔记本摄像头倒着是怎么回事
  • 单目摄像头像测距,双目摄像机测量距离准确吗,双目摄像头测距范围
  • 留言与评论(共有 条评论)
       
    验证码: