1.首先安装OpenCV,当然所用电脑要有摄像头,且接入网络。比较简单粗暴的做法是到Python所在的目录下,.\Scripts下运行

pip install opencv-python

2.以下代码是开启摄像头,按任意键退出:

import cv2
#打开摄像头(只有一个摄像头则编号为0,若有2个则依次为0,1)
camera = cv2.VideoCapture(0)
#创建窗口"Video Cam"
cv2.namedWindow('Video Cam', cv2.WINDOW_NORMAL)
#持续间隔1ms等待按键,若有按键跳出循环
while cv2.waitKey(1)==-1:#读取摄像头数据success, frame =camera.read()# 显示在窗口"Video Cam"上cv2.imshow('Video Cam', frame)
#断开摄像头
camera.release()
#释放所有窗口
cv2.destroyAllWindows()

3.waitKey(delay)

delay为延时时间,也可以看做间隔时间,单位为毫秒,0表示永远等待。返回值为ASCII键值,没有任何按键时返回值为-1。把cv2.waitKey(1)==-1改为cv2.waitKey(1)!=27,则可实现按ESC键时退出,否则保持状态不变。

4.cv2.imwrite(file,img,num)

用于保存一个图像。第一个参数file是要保存的文件名,第二个参数img是要保存的图像。第三个参数num可选,它针对特定的格式:对于jpeg,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别,默认为3。

修改以上代码,实现以下功能:按空格键截图保存,文件名依次为1.jpg,2.jpg,3.jpg......,按ESC键退出,其它键不响应。所有代码如下:

import cv2
camera = cv2.VideoCapture(0) #打开摄像头(只有一个摄像头则编号为0,若有2个则依次为0,1)
cv2.namedWindow('Video Cam', cv2.WINDOW_NORMAL) #创建窗口"Video Cam"
i=0
while cv2.waitKey(1)!=27: #ESC键 持续间隔1ms等待按键,若有按键跳出循环success, frame =camera.read() #读取摄像头数据cv2.imshow('Video Cam', frame) # 显示在窗口"Video Cam"上if cv2.waitKey(1)==32: #空格键存图像i=i+1cv2.imwrite(str(i)+".jpg",frame) #存图像
camera.release() #断开摄像头
cv2.destroyAllWindows() #释放所有窗口

5.若有两个或者更多的摄像头,则需创建更多的窗口,如下:

import cv2
#打开摄像头(只有一个摄像头则编号为0,若有2个则依次为0,1)
camera = cv2.VideoCapture(0)
camera1 = cv2.VideoCapture(1)
#创建窗口"Video Cam","Video Cam1",
cv2.namedWindow('Video Cam', cv2.WINDOW_NORMAL)
cv2.namedWindow('Video Cam1', cv2.WINDOW_NORMAL)
#持续间隔1ms等待按键,若有按键跳出循环
while cv2.waitKey(1)==-1:#读取摄像头数据success, frame =camera.read()success1, frame1 =camera1.read()# 显示在窗口"Video Cam","Video Cam1"上cv2.imshow('Video Cam', frame)cv2.imshow('Video Cam1', frame1)
#断开摄像头
camera.release()
camera1.release()
#释放所有窗口
cv2.destroyAllWindows()

笔记本电脑一般都自带摄像头,若需增加或台式机均需另购,建议选用USB接口无驱型。

OpenCV简单应用(一、摄像头拍照)相关推荐

  1. Python:opencv库实现调用摄像头拍照并保存到本地

    导入 opencv-python库,复制代码即可运行 import cv2def picture_shoot(image_name='img.png', image_path=r'E:/') -> ...

  2. 初学OpenCV:用本地摄像头拍照并保存为灰度图片

    初学OpenCV 用本地摄像头拍照并保存为灰度图片 import cv2 as cvdef openVideo():vix = cv.VideoCapture(0) #打开摄像头while True: ...

  3. Ubuntu下解决OpenCV不能重复打开摄像头拍照问题

    在ubuntu下使用opencv重复调用摄像头后出现错误HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by Op ...

  4. Linux内核虚拟摄像头,Qt Opencv 在Linux下摄像头简单示例v1.0

    下面写的文章也许网上也有类似的,但是大多数都没有给出思路及背景,让初学者每次都只能学到一点皮毛,不少知识需要大量搜索零碎地拼凑起来.题外话,虽然现在是碎片化信息时代,但正是这样信息整合能力也显得非常重 ...

  5. python控制摄像头拍照_python+opencv+pyqt5控制摄像头在Qlabel上显示

    import cv2 import numpy as numpy from PIL import * import sys from PyQt5.QtWidgets import * from PyQ ...

  6. 利用Python+opencv进行视频文件的读取和保存,打开笔记本摄像头拍照保存、图像在窗口显示等操作

    版权声明:本文为博主原创文章,转载请附源链接 一.视频文件的读取和保存 Opencv中视频的读入是用VideoCapture函数,保存用的是VideoWriter函数.这两个函数支持的视频格式因电脑系 ...

  7. opencv启动摄像头并且操作摄像头拍照

    提示:代码由pycharm实现 文章目录 前言 一.引入库 二.步骤 1.开启摄像头 2.设置一个变量方便后面保存图片 3.设置循环检测 总结 前言 本次我们记录OpenCV的启用电脑的摄像头以及对摄 ...

  8. 简单介绍C#获取摄像头拍照显示图像的方法

    这篇文章主要为大家详细介绍了C#获取摄像头拍照显示图像的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了C#获取摄像头拍照显示图像的具体代码,供 ...

  9. python实现摄像头拍照_使用Python控制摄像头拍照并发邮件

    o1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样 ...

  10. 用Python控制摄像头拍照并发邮件

    1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样我 ...

最新文章

  1. php批量请求url_php请求url的方法小结
  2. 机器人过程自动化的10个秘密
  3. golang map 删除 清空
  4. 批量解锁源代码管理器的文件命
  5. 多维数组的行优先和列优先, 数据描述语言
  6. python系统目录_Python创建系统目录的方法
  7. 高精度PSEnet文本检测在windows/linux运行教程
  8. Mac text edit pdf reader
  9. 比特币原理——交易与UTXO
  10. 安装visio2016出现无法安装
  11. JMeter中BeanShell的使用方法和常用语法
  12. C51单片机的初次使用
  13. Win Form图形编程实践——打砖块
  14. 弯头lisp_管道材料代号说明
  15. android 方向传感器,10.11 传感器专题(2)——方向传感器
  16. 人类高质量程序员电脑配置(持续更新)
  17. python办公自动化价值是什么意思_办公自动化是什么意思,怎么实现?
  18. 男生心疼女生的12种方式
  19. 2022-11-08 Python基础知识 2
  20. Linux设置环境变量

热门文章

  1. pg数据库的基本操作
  2. 国内期刊 CCT 模板编译经验
  3. eclipse下载哪个版本开发java_官网上有很多版本的eclipse,下载哪个版本比较合适?...
  4. Tomcat 修改端口号
  5. 建筑基坑工程设计计算与施工(一)
  6. 安全知识竞赛答题小程序
  7. java小写金额转大写工具类
  8. ascII码,asc2码表
  9. 【Unity3D插件】XCharts插件分享《图表插件》
  10. 使用Zoiper与freeSWITCH开视频会议