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 数据加密代码
Dec 24 Python
python fabric使用笔记
May 09 Python
python字典排序实例详解
May 20 Python
Python之文字转图片方法
May 10 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
tensorflow 获取所有variable或tensor的name示例
Jan 04 Python
Python中断多重循环的几种方式详解
Feb 10 Python
Python递归函数特点及原理解析
Mar 04 Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
Python接口自动化测试框架运行原理及流程
Nov 30 Python
Python绘制散乱的点构成的图的方法
Apr 21 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之数组学习
2011/05/29 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
PHP学习笔记之session
2018/05/06 PHP
JS定时器实例
2013/04/17 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
浅谈Python爬取网页的编码处理
2016/11/04 Python
解决Python requests 报错方法集锦
2017/03/19 Python
python中map()函数的使用方法示例
2017/09/29 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
python文字转语音实现过程解析
2019/11/12 Python
Python实现word2Vec model过程解析
2019/12/16 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
出国考察邀请函
2014/01/21 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
Python基本数据类型之字符串str
2021/07/21 Python
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL