python 基于opencv操作摄像头


Posted in Python onDecember 24, 2020

要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1,依此类推。

# 打开摄像头并灰度化显示
import cv2 as cv 
# 0表示摄像头的编号
capture = cv.VideoCapture(0)

while(True):
  # 获取一帧
  # 第1个参数ret(return value缩写)是一个布尔值,表示当前这一帧是否获取正确
  ret, frame = capture.read()
  # 将这帧转换为灰度图
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(1) == ord('q'):
    break

摄像头捕捉到的图像:

python 基于opencv操作摄像头

获取并修改摄像头的属性值

通过capture.get(propId)可以获取摄像头的一些属性,比如捕获的分辨率,亮度和对比度等。propId是从0~18的数字,代表不同的属性。要修改摄像头的属性值,可以使用capture.set(propId,value)。比如说,我们在while之前添加下面的代码,可以捕获相对于上面2倍分辨率的视频。

# 获取捕获的分辨率
# propId可以直接写数字,也可以用OpenCV的符号表示
width, height = capture.get(3), capture.get(4)
print(width, height)

# 以原分辨率的一倍来捕获
capture.set(cv.CAP_PROP_FRAME_WIDTH, width * 2)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, height * 2)

捕获的2倍分辨率于原先的图像:

python 基于opencv操作摄像头

播放本地视频

跟打开摄像头一样,如果把摄像头的编号换成视频的路径就可以播放本地视频了。回想一下cv.waitKey(),它的参数表示暂停时间,所以这个值越大,视频播放速度越慢,反之,播放速度越快,通常设置为25或30。

# opencv播放本地视频
import cv2 as cv

capture = cv.VideoCapture('E:/1.mp4')

while(capture.isOpened()):
  ret, frame = capture.read()
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(30) == ord('q'):
    break

播放中的 E:/1.mp4 :

python 基于opencv操作摄像头

录制视频并保存

之前我们保存图片用的是cv.imwrite(),要保存视频,我们需要创建一个VideoWriter的对象,需要给它传入四个参数:
1.输出的文件名,如'output.avi'
2.编码方式FourCC码
3.帧率FPS
4.要保存的分辨率大小
FourCC是用来指定视频编码方式的四字节码。如MJPG编码可以这样写: cv.VideoWriter_fourcc(*'MJPG')或cv.VideoWriter_fourcc('M','J','P','G')

import cv2 as cv

capture = cv.VideoCapture(0)

# 定义编码方式并创建VideoWriter对象
fourcc = cv.VideoWriter_fourcc(*'MJPG')
outfile = cv.VideoWriter('output.avi', fourcc, 25., (640, 480))

while(capture.isOpened()):
  ret, frame = capture.read()

  if ret:
    outfile.write(frame) # 写入文件
    cv.imshow('frame', frame)
    if cv.waitKey(1) == ord('q'):
      break
  else:
    break

如愿以偿在当前路径下生成了output.avi :

python 基于opencv操作摄像头

以上就是python 基于opencv操作摄像头的详细内容,更多关于python opencv操作摄像头的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python语言生成水仙花数代码示例
Dec 18 Python
python在回调函数中获取返回值的方法
Feb 22 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
python函数的万能参数传参详解
Jul 26 Python
python序列化与数据持久化实例详解
Dec 20 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Python爬虫教程知识点总结
Oct 19 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 #Python
python实现简单猜单词游戏
Dec 24 #Python
Python 虚拟环境工作原理解析
Dec 24 #Python
python基于openpyxl生成excel文件
Dec 23 #Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 #Python
用python计算文件的MD5值
Dec 23 #Python
python中lower函数实现方法及用法讲解
Dec 23 #Python
You might like
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
django解决跨域请求的问题
2018/11/11 Python
python实现爬山算法的思路详解
2019/04/09 Python
python随机数分布random均匀分布实例
2019/11/27 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
英国健身超市:Fitness Superstore
2019/06/17 全球购物
《草原》教学反思
2014/02/15 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
2019年教师入党申请书
2019/06/27 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA