上期文章,我们分享了如何使用opencv 与MobileNet SSD模型来检测给定的图片,有网友反馈能否提供一下视频流的实时检测代码,其实我们在分享人脸识别的时候,分享了如何使用cv2.videoCpature 类来从视频中实时提取视频中的图片,进行人脸的识别,视频流的对象检测跟opencv的人脸检测一致,也可以使用cv2.videoCpature 类来从视频中实时提取视频中的图片,进行图片的对象检测,此类代码可以参考往期文章人工智能-Dlib+Python实现人脸识别

本期我们使用另外一个第三方库imutils,首先使用pip install imutils来安装

1 导入需要的第三方库

2 初始化训练模型

此部分代码跟图片检测一致

#14 # 15 输入prototxt与caffe 的模型文件地址

#17 class列表是SSD caffe检测模型中的20个label标签,还包括一个background

#21 针对每个label,随机建一个颜色,以便后期检测图片时 ,使用不同的颜色框,以便区分

# 22 使用cv的dnn加载模型数据

3 初始化视频对象

# 25 启动摄像头,src=0 ,默认是打开设备的默认摄像头

# 26 延时 ,以便摄像头打开

# 27 启动视频帧记录函数

4 视频流检测

视频流的对象检测与图片的检测过程一致,每行代码几乎都有注释,不再一一介绍

主要的区别是:图片检测首先定义了图片地址,视频检测,在视频流中提图片

# 31 resize 了图片尺寸,避免图片太大

# 53 当检测到对象后,通过imshow实时显示在视频流中

# 54-56 若输入q 退出

# 57 视频帧自动加1

5 end

检测结束,我们关闭一些资源

print 每秒的视频信息:每秒处理的视频帧数,每帧处理的时间

每秒处理8.7帧图片,稍微有点慢 ,若电脑配置高的话,或者使用多进程会好很多

多线程与多进程知识点,会在《每天一分钟,python一点通》系列教程中分享

从视频中截取的图片

微&信搜索:启示AI 科技

可以体验不同的AI 工具

当然,你也可以导入一个视频,让神经网络来检测,src=''要打开视频的绝对地址便可

检测完成后使用cv2的VideoWriter来保存视频便可

vs = VideoStream(src='')

下期分享

说到了多进程,我们下期来使用此方法优化一下代码来提高每秒的处理

opencv 多线程_深度学习和OpenCV的对象检测(MobileNet SSD视频流实时识别)相关推荐

  1. 机器学习_深度学习毕设题目汇总——目标检测B

    下面是该类的一些题目: 题目 典型恶劣天气条件下高铁周界入侵目标检测 图模型融合时空特征的视觉显著性目标检测算法研究 基于SAR图像的舰船目标检测方法研究 基于三维点云分析的智能汽车目标检测方法研究 ...

  2. 深度学习与OpenCV DNN模块:权威指南

    计算机视觉领域自20世纪60年代末就已经存在.图像分类和目标检测是计算机视觉领域的一些最古老的问题,研究人员已经努力解决了几十年.使用神经网络和深度学习,我们已经达到了一个阶段,计算机可以开始真正地理 ...

  3. 深度学习:Opencv的BlobfromImage如何工作

    深度学习:Opencv的BlobfromImage如何工作 1. 原理 1.2 均值减法是什么 1.3 cv2.dnn.BlogFromImage 2. 源码 参考 想要从深度神经网络获取正确的预测, ...

  4. 利用OpenCV实现基于深度学习的超分辨率处理

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 OpenCV是一个非常强大的计算机视觉处理的工具库.很多小伙伴在入 ...

  5. 在OpenCV中基于深度学习的边缘检测

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 导读 分析了Canny的优劣,并给出 ...

  6. OpenCV语义细分深度学习网络的实例(附完整代码)

    OpenCV语义细分深度学习网络的实例 OpenCV语义细分深度学习网络的实例 OpenCV语义细分深度学习网络的实例 #include <fstream> #include <ss ...

  7. OpenCV运行分类深度学习网络的实例(附完整代码)

    OpenCV运行分类深度学习网络的实例 OpenCV运行分类深度学习网络的实例 OpenCV运行分类深度学习网络的实例 #include <fstream> #include <ss ...

  8. opencv threshold_基于深度学习OpenCV与python进行字符识别

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 当我们在处理图像数据集时,总是会想有没有什么办法以简单的文本格式检 ...

  9. 深度学习-82:OpenCV与深度学习

    深度学习-82:OpenCV与深度学习 深度学习原理与实践(开源图书)-总目录, 建议收藏,告别碎片阅读! 随着机器学习,计算机视觉和计算能力的日益成熟,计算机视觉被广泛应用于人机互动.物体识别.图像 ...

最新文章

  1. python基础知识整理-整理了27个新手必学的Python基础知识点
  2. 稻盛和夫《活法》读后感
  3. OpenStack网络的下一步原来这么走 | 技术头条
  4. rk3128屏幕占空比参数设置_瑞芯微RK3128芯片怎么样 性能全面解读
  5. PHP二开美化版站长技术导航网站源码
  6. array数组的若干操作
  7. 【资料整理】Eclipse快捷键
  8. SQL执行insert into后返回主键ID
  9. dependencies.dependency.version' for org.hibernate:hibernate-validator:jar is missing.
  10. 配置STP、RSTP以及负载均衡
  11. RN react-native-wechar 微信支付、分享
  12. 微信小程序签到功能实现
  13. 箱线图怎么判断异常值_箱线图(Box-plot)中,异常值很多说明什么?
  14. mysql netcdf_NetCDF Overview
  15. python实现从身份证截取出生日期以及性别判断
  16. Object转byte[];byte[]转Object
  17. 微信公众号游戏 服务器,永不消逝的69号服务器
  18. 六足蜘蛛机器人+哈尔的移动城堡,一个神奇组合的设计制作!
  19. 关于U盘文件无意损坏之后的解决方案
  20. atm取款机 oracle实战训练_使用JavaScript实现ATM取款机

热门文章

  1. [pythonjava爬虫实战]-爬取学院老师信息之-java版本python版本
  2. mysql 中default 和NULL
  3. #用construct2做游戏
  4. linux cp复制软连接
  5. Linux ln指令
  6. Linux vim多文件切换
  7. Redis命令:DECR key减1操作
  8. MySQL使用精确匹配和范围查询的效率差别
  9. springboot配置servlet容器的两种途径:配置文件及编码方式
  10. linux mysql makefile_Linux安装库文件(环境变量和makefile)