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迭代和迭代器
Mar 28 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
Django2.1.3 中间件使用详解
Nov 26 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
使用GitHub和Python实现持续部署的方法
May 09 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 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
如何将数据从文本导入到mysql
2006/10/09 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
php实现的简单检验登陆类
2015/06/18 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
使用tensorflow实现AlexNet
2017/11/20 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
django和vue实现数据交互的方法
2019/08/21 Python
Python多分支if语句的使用
2020/09/03 Python
泰国第一在线超市:Tops
2021/02/13 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
勤俭节约演讲稿
2014/05/08 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
电工实训报告总结
2014/11/05 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python