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数据结构与算法之完全树与最小堆实例
Dec 13 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
python中实现字符串翻转的方法
Jul 11 Python
Python字符串对象实现原理详解
Jul 01 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
python实现复制文件到指定目录
Oct 16 Python
Python urllib.request对象案例解析
May 11 Python
通过实例了解python__slots__使用方法
Sep 14 Python
python list的index()和find()的实现
Nov 16 Python
Python基础之元组与文件知识总结
May 19 Python
Python自动化爬取天眼查数据的实现
Jun 15 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
jquery对ajax的支持介绍
2013/12/10 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
js获取form的方法
2015/05/06 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
Python单例模式的两种实现方法
2017/08/14 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
基于python实现聊天室程序
2018/07/27 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
如何手工释放资源
2013/12/15 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
建筑自我鉴定
2013/10/19 职场文书
高中军训感言1000字
2014/03/01 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
全新239军机修复记
2022/04/05 无线电