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 流程控制实例代码
Sep 25 Python
使用Python的Django框架实现事务交易管理的教程
Apr 20 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
python3学习笔记之多进程分布式小例子
Feb 13 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
基于Python实现扑克牌面试题
Dec 11 Python
Django数据库操作之save与update的使用
Apr 01 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 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/10/09 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
菜鸟javascript基础整理1
2010/12/06 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
深入解析Python编程中super关键字的用法
2016/06/24 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python将字符串转换成json的方法小结
2019/07/09 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
python调用百度API实现人脸识别
2020/11/17 Python
Python实现随机爬山算法
2021/01/29 Python
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
春季防火方案
2014/05/10 职场文书
创先争优活动个人总结
2015/03/04 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Javascript之datagrid查询详解
2021/09/15 Javascript