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 相关文章推荐
开始着手第一个Django项目
Jul 15 Python
Python二分查找详解
Sep 13 Python
Python排序算法实例代码
Aug 10 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
构建高效的python requests长连接池详解
May 02 Python
python办公自动化之excel的操作
May 23 Python
Pandas 数据编码的十种方法
Apr 20 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个人网站架设连环讲(四)
2006/10/09 PHP
PHP中基本符号及使用方法
2010/03/23 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
浅析Vue自定义组件的v-model
2017/11/26 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
Python中字符串的处理技巧分享
2016/09/17 Python
pandas object格式转float64格式的方法
2018/04/10 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
应届生求职信
2014/05/31 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
群众路线剖析材料
2014/09/30 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
学术会议通知范文
2015/04/15 职场文书
立春观后感
2015/06/18 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers