Python 使用Opencv实现目标检测与识别的示例代码


Posted in Python onSeptember 08, 2020

在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别。后者是在前者的基础上进一步完善。
在本章中,我们使用HOG算法,HOG和SIFT、SURF同属一种类型的描述符。功能代码如下:

import cv2
def is_inside(o, i):
 ox, oy, ow, oh = o
 ix, iy, iw, ih = i
 # 如果符合条件,返回True,否则返回False
 return ox > ix and oy > iy and ox + ow < ix + iw and oy + oh < iy + ih

# 根据坐标画出人物所在的位置
def draw_person(img, person):
 x, y, w, h = person
 cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 255), 2)

# 定义HOG特征+SVM分类器
img = cv2.imread("people.jpg")
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
found, w = hog.detectMultiScale(img, winStride=(8, 8), scale=1.05)

# 判断坐标位置是否有重叠
found_filtered = []
for ri, r in enumerate(found):
 for qi, q in enumerate(found):
 a = is_inside(r, q)
 if ri != qi and a:
  break
 else:
 found_filtered.append(r)
# 勾画筛选后的坐标位置
for person in found_filtered:
 draw_person(img, person)
# 显示图像
cv2.imshow("people detection", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果如图所示:

Python 使用Opencv实现目标检测与识别的示例代码

这个例子是使用HOG特征进行SVM算法训练,这部分已开始涉及到机器学习的方面,通过SVM算法训练数据集,然后根据某图像与数据集进行匹配。

到此这篇关于Python 使用Opencv实现目标检测与识别的示例代码的文章就介绍到这了,更多相关Opencv 目标检测与识别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中pygame针对游戏窗口的显示方法实例分析(附源码)
Nov 11 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
更新修改后的Python模块方法
Mar 03 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
Python批量启动多线程代码实例
Feb 18 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
Python requests接口测试实现代码
Sep 08 #Python
Python unittest装饰器实现原理及代码
Sep 08 #Python
Python selenium环境搭建实现过程解析
Sep 08 #Python
Python unittest生成测试报告过程解析
Sep 08 #Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 #Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 #Python
Django模型验证器介绍与源码分析
Sep 08 #Python
You might like
php关联数组与索引数组及其显示方法
2018/03/12 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
document.createElement()用法
2013/03/13 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
python中zip和unzip数据的方法
2015/05/27 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python实现大文本文件分割
2019/07/22 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
无保留意见审计报告
2015/06/05 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript