有以下程序

import cv2

cap = cv2.VideoCapture(0)

while cap.isOpened():

ret,frame = cap.read()

cv2.imshow('frame',frame)

c = cv2.waitKey(1)

if c == 27:

break

cap.release()

cv2.destroyAllWindows()

说明:

程序段里,

1、cv2.VideoCapture()函数:

cap = cv2.VideoCapture(0)

VideoCapture()中参数是0,表示打开笔记本的内置摄像头。

cap = cv2.VideoCapture("…/1.avi")

VideoCapture("…/1.avi"),表示参数是视频文件路径则打开视频。

2、cap.isOpened()函数:

返回true表示成功,false表示不成功

3、ret,frame = cap.read()函数:

cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。

4、cv2.waitKey()函数:

参数是1,表示延时1ms切换到下一帧图像,参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。

参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停。

注意:如果这里没有waitKey()函数,则只会显示空白窗口,看不到摄像头视频。个人分析是因为waitKey()让窗口保持了一定时间,否则前一帧还没有显示出来就开始显示下一帧,就会造成窗口一直是空白(如果是服务端程序无需gui窗口观看视频,则代码中无此函数要求):

没有waitKey()函数时的空白窗口

5、cap.release()与destroyAllWindows()函数:

cap.release()释放视频,调用destroyAllWindows()关闭所有图像窗口。

6、c = cv2.waitKey(1)

c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立。

python waitkey_python中VideoCapture(),read(),waitKey()的使用相关推荐

  1. python opencv cv2.VideoCapture(),read(),waitKey()的使用 ret,frame参数

    参考文章:python-OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用 VideoCapture.py # encoding: utf-8 # modu ...

  2. python中darks_在Python 3中使用YOLOv2

    YOLOv2是Joseph Redmon提出的针对YOLO算法不足的改进版本,作者使用了一系列的方法对原来的YOLO多目标检测框架进行了改进,在保持原有速度的优势之下,精度上得以提升,此外作者提出了一 ...

  3. pythoninterk_在Python 3中使用YOLOv2

    YOLOv2是Joseph Redmon提出的针对YOLO算法不足的改进版本,作者使用了一系列的方法对原来的YOLO多目标检测框架进行了改进,在保持原有速度的优势之下,精度上得以提升,此外作者提出了一 ...

  4. 番外3. Python OpenCV 中如何绘制各种图形?

    本系列专栏写作方式 本系列专栏写作将采用首创的问答式写作形式,快速让你学习到 OpenCV 的初级.中级.高级知识. 3. Python OpenCV 中如何绘制各种图形? 本篇博客主要分享一下在 P ...

  5. python调用什么函数实现对文件内容的读取_如何使用python语言中的方法对文件进行读写操作...

    在我们使用python语言中的文件时,可以使用open()方法打开文件,close()方法关闭文件,read()方法读取文件内容,write()方法写入内容到文件中.下面利用几个实例说明文件读写方法, ...

  6. python图像中如何显示中文

    python图像中如何显示中文 在开头加入这两行即可 from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei']

  7. 关于python缩进的描述中_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是()...

    关于Python程序中与"缩进"有关的说法中,以下选项中正确的是() 答:缩进在程序中长度统一且强制使用 同文学或同音乐主题的民歌,<_______>是其中之一.此曲经 ...

  8. python 类中定义类_Python中的动态类定义

    python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...

  9. Python培训分享:Python新版本中的6个新特性

    Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...

最新文章

  1. 虚商烦恼多?不在怕的!你距离享受高效虚商控制台只差一步的距离
  2. 增加堆内存的大小 - 提防眼镜蛇效应
  3. 机器学习-数据科学库(第五天)
  4. windows 小技巧搜集(不定期更新)
  5. DVWA File Inclusion——Writeup
  6. buy low buy lower——伪思考
  7. java.library.path在哪?
  8. Python 爬取 B 站数据分析,宋智孝李光洙谁最受中国粉丝喜爱
  9. centos/linux下的安装Nginx
  10. 豆瓣python网络数据采集器代理_Python 网络数据采集1
  11. 程序员带实习生事后却遭遇白眼狼,吐槽:真TM心累
  12. centos SSH免密登录
  13. matlab电磁场,基于matlab的电磁场分析.pdf
  14. 数据结构算法——1006. 线性链表的插入与删除
  15. java短信验证平台,Java实现发送短信验证码功能
  16. 替换空格——python
  17. PR值计算公式带来的思考
  18. 【测试方法】业务流测试法之场景法
  19. TFBGA240+25封装尺寸图
  20. windows 7 cmd(ms DOS)命令窗口没有滚动条 还原CMD默认设置

热门文章

  1. 2000年考研英语阅读理解文章一
  2. 深度卷积神经网络CNNs的多GPU并行框架及其应用
  3. Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积
  4. Linux下安装jdk8步骤详述
  5. FreeSql (十四)批量更新数据
  6. 百度王一男: DevOps 的前提是拆掉业务-开发-测试-运维中间的三面墙
  7. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
  8. ajax数据保存及解析
  9. ORACLE查询表最近更改的数据
  10. [恢]hdu 1239