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时区设置方法与pytz查询时区教程
Nov 27 Python
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
在Python中使用next()方法操作文件的教程
May 24 Python
Python 装饰器深入理解
Mar 16 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
python matlibplot绘制多条曲线图
Feb 19 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
Django 多环境配置详解
May 14 Python
python实现逻辑回归的示例
Oct 09 Python
python通过函数名调用函数的几种方法总结
Jun 07 Python
Python Matplotlib绘制条形图的全过程
Oct 24 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
php中explode函数用法分析
2014/11/15 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
img的onload的另类用法
2008/01/10 Javascript
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
python滑块验证码的破解实现
2019/11/10 Python
Django choices下拉列表绑定实例
2020/03/13 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
接待员岗位责任制
2014/02/10 职场文书
初中三年毕业生的自我评价分享
2014/02/14 职场文书
交通文明倡议书
2014/05/16 职场文书
社会工作专业求职信
2014/07/15 职场文书
大学生学期个人总结
2015/02/12 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
安全教育日主题班会
2015/08/13 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书