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抽象类的新写法
Jun 18 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
Python IDLE入门简介
Dec 08 Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
python实现浪漫的烟花秀
Jan 30 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
python实现计算图形面积
Feb 22 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获取数组最大值下标的方法
2015/05/12 PHP
php算法实例分享
2015/07/14 PHP
php实现异步数据调用的方法
2015/12/24 PHP
php实用代码片段整理
2016/11/12 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
javascript 函数式编程
2007/08/16 Javascript
JS event使用方法详解
2008/04/28 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
2016/06/13 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
python生成excel的实例代码
2017/11/08 Python
python队列queue模块详解
2018/04/27 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
教师自我评价范例
2013/09/24 职场文书
校园公益广告语
2014/03/13 职场文书
仓库规划计划书
2014/04/28 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
英文导游词
2015/02/13 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python