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 numpy 常用函数总结
Dec 07 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
如何通过python画loss曲线的方法
Jun 26 Python
python实现大量图片重命名
Mar 23 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
python 通过exifread读取照片信息
Dec 24 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 Python
python编写五子棋游戏
May 25 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
深入php数据采集的详解
2013/06/02 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python写的Socks5协议代理服务器
2014/08/06 Python
跟老齐学Python之正规地说一句话
2014/09/28 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python中实现三目运算的方法
2015/06/21 Python
Python探索之ModelForm代码详解
2017/10/26 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
django页面跳转问题及注意事项
2019/07/18 Python
python搜索包的路径的实现方法
2019/07/19 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
户外用品商店创业计划书
2014/01/29 职场文书
学雷锋演讲稿
2014/03/04 职场文书
房屋转让协议书范本
2014/04/11 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
2014年部门工作总结
2014/11/12 职场文书
病危通知单
2015/04/17 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
python超详细实现完整学生成绩管理系统
2022/03/17 Python
vue判断按钮是否可以点击
2022/04/09 Vue.js