python实现从本地摄像头和网络摄像头截取图片功能


Posted in Python onJuly 11, 2019

python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示:

import cv2
# 获取本地摄像头
# folder_path 截取图片的存储目录
def get_img_from_camera_local(folder_path):
  cap = cv2.VideoCapture(0)
  i = 1
  while True:
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    print str(i)
    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存储为图像
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    i += 1
  cap.release()
  cv2.destroyAllWindows()
# 获取网络摄像头,格式:rtsp://username:pwd@ip/
# folder_path 截取图片的存储目录
def get_img_from_camera_net(folder_path):
  cap = cv2.VideoCapture('rtsp://username:pwd@ip/')
  i = 1
  while True:
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    print str(i)
    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存储为图像
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    i += 1
  cap.release()
  cv2.destroyAllWindows()
# 测试
if __name__ == '__main__':
  folder_path = 'D:\\img_from_camera\\'
  get_img_from_camera_local(folder_path)

PS:下面看下用 python , opencv 打开网络摄像头读取图像

打开网络摄像头用如下代码:

###########################################
import cv2
 url = 'rtsp://admin:password@192.168.1.104:554/11'
 cap = cv2.VideoCapture(url)
 while(cap.isOpened()): 
   # Capture frame-by-frame 
   ret, frame = cap.read() 
   # Display the resulting frame 
   cv2.imshow('frame',frame) 
   if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 
 # When everything done, release the capture 
 cap.release() 
 cv2.destroyAllWindows()
 ############################################

注: 将从摄像头获取的图像从bgr转为rgb : image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

1、cap = cv2.VideoCapture(0)

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

参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("../test.avi")

2、ret,frame = cap.read()

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

3、cv2.waitKey(1),waitKey()方法本身表示等待键盘输入,

参数是1,表示延时1ms切换到下一帧图像,对于视频而言;

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

参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。

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

4、调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。

总结

以上所述是小编给大家介绍的python实现从本地摄像头和网络摄像头截取图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
跟老齐学Python之重回函数
Oct 10 Python
Python连接mysql数据库的正确姿势
Feb 03 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
详解Python with/as使用说明
Dec 13 Python
将pip源更换到国内镜像的详细步骤
Apr 07 Python
关于Python中定制类的比较运算实例
Dec 19 Python
python集成开发环境配置(pycharm)
Feb 14 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
python常用库之NumPy和sklearn入门
Jul 11 #Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 #Python
Python实现K折交叉验证法的方法步骤
Jul 11 #Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 #Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 #Python
详解python实现交叉验证法与留出法
Jul 11 #Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
Jul 11 #Python
You might like
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
Python中标准模块importlib详解
2017/04/16 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
python3.7 的新特性详解
2019/07/25 Python
Django发送邮件功能实例详解
2019/09/02 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
小学后勤管理制度
2014/01/14 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
销售经理岗位职责
2014/03/16 职场文书
新春文艺演出主持词
2014/03/27 职场文书
技术比武方案
2014/05/19 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js