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 json encode datetime类型
Dec 28 Python
Python 字典dict使用介绍
Nov 30 Python
详解基于django实现的webssh简单例子
Jul 17 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
python如何实现数据的线性拟合
Jul 19 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
Python中常见的数制转换有哪些
May 27 Python
使用Python pip怎么升级pip
Aug 11 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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实现图片添加水印功能
2014/02/13 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
python实现简单中文词频统计示例
2017/11/08 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
python时间time模块处理大全
2020/10/25 Python
Numpy数组的广播机制的实现
2020/11/03 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
《藏戏》教学反思
2014/02/11 职场文书
对公司合理化的建议书
2014/03/12 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
超市员工管理制度
2015/08/06 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python
Python开发简易五子棋小游戏
2022/05/02 Python