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中os和shutil模块实用方法集锦
May 13 Python
Python3实现从指定路径查找文件的方法
May 22 Python
python实现备份目录的方法
Aug 03 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python发送邮件实现基础解析
Aug 14 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
Python 生成短8位唯一id实战教程
Jan 13 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
PHP文本操作类
2006/11/25 PHP
php简单封装了一些常用JS操作
2007/02/25 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
javascript的push使用指南
2014/12/05 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
python如何通过twisted实现数据库异步插入
2018/03/20 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Django框架模板介绍
2019/01/15 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
zooplus波兰:在线宠物店
2019/07/21 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
护理专业毕业生自荐信范文
2014/01/05 职场文书
医学生自我评价
2014/01/27 职场文书
人事专员的职责
2014/02/26 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js