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实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
Python利用IPython提高开发效率
Aug 10 Python
Python和C/C++交互的几种方法总结
May 11 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
python学生信息管理系统(完整版)
Apr 05 Python
简单了解python中对象的取反运算符
Jul 01 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
python批量处理文件或文件夹
Jul 28 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
python标准库OS模块详解
Mar 10 Python
快速创建python 虚拟环境
Nov 28 Python
python随机打印成绩排名表
Jun 23 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
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
Python中自定义函数的教程
2015/04/27 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
Python基于template实现字符串替换
2020/11/27 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
关于打架的检讨书
2014/01/17 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
导游词之山东八大关
2019/12/18 职场文书
Python实现科学占卜 让视频自动打码
2022/04/09 Python