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扫描IP段查看指定端口是否开放的方法
Jun 09 Python
PyTorch上实现卷积神经网络CNN的方法
Apr 28 Python
使用numba对Python运算加速的方法
Oct 15 Python
python调用java的jar包方法
Dec 15 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
python Shapely使用指南详解
Feb 18 Python
Python3操作读写CSV文件使用包过程解析
Apr 10 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
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
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php生成无限栏目树
2017/03/16 PHP
JS 遮照层实现代码
2010/03/31 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
python列表与元组详解实例
2013/11/01 Python
Python日志模块logging简介
2015/04/13 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
python实现自动登录后台管理系统
2018/10/18 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
销售经理工作职责范文
2013/12/03 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
小班教师个人总结
2015/02/05 职场文书
金陵十三钗观后感
2015/06/04 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python