Python 使用Opencv实现目标检测与识别的示例代码

 更新时间:2020年09月08日 10:43:40   作者:Xy-Huang  
这篇文章主要介绍了Python 使用Opencv实现目标检测与识别的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别。后者是在前者的基础上进一步完善。
在本章中,我们使用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()

运行结果如图所示:


这个例子是使用HOG特征进行SVM算法训练,这部分已开始涉及到机器学习的方面,通过SVM算法训练数据集,然后根据某图像与数据集进行匹配。

到此这篇关于Python 使用Opencv实现目标检测与识别的示例代码的文章就介绍到这了,更多相关Opencv 目标检测与识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python数据分析之员工个人信息可视化

    python数据分析之员工个人信息可视化

    这篇文章主要介绍了python数据分析之员工个人信息可视化,文中有非常详细的代码示例,对正在学习python可视化的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python PIL库读取设置图像的像素内容方法示例

    Python PIL库读取设置图像的像素内容方法示例

    这篇文章主要为大家介绍了使用Python PIL库Image模块中的getpixel和putpixel方法读取设置图像的像素内容实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python网络编程基于多线程实现多用户全双工聊天功能示例

    Python网络编程基于多线程实现多用户全双工聊天功能示例

    这篇文章主要介绍了Python网络编程基于多线程实现多用户全双工聊天功能,结合实例形式分析了Python网络编程中使用多线程进行多用户异步通信的原理与相关实现技巧,需要的朋友可以参考下
    2018-04-04
  • Python内存管理器如何实现池化技术

    Python内存管理器如何实现池化技术

    Python中的内存管理是从三个方面来进行的,一对象的引用计数机制,二垃圾回收机制,三内存池机制,下面这篇文章主要给大家介绍了关于Python内存管理器如何实现池化技术的相关资料,需要的朋友可以参考下
    2022-05-05
  • Python实现http接口自动化测试的示例代码

    Python实现http接口自动化测试的示例代码

    这篇文章主要介绍了Python实现http接口自动化测试的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python使用reportlab将目录下所有的文本文件打印成pdf的方法

    Python使用reportlab将目录下所有的文本文件打印成pdf的方法

    这篇文章主要介绍了Python使用reportlab将目录下所有的文本文件打印成pdf的方法,涉及reportlab模块操作pdf文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python自动修改电脑静态IP地址的实现示例

    Python自动修改电脑静态IP地址的实现示例

    通过Python自动修改电脑的静态IP地址可以极大地提高我们的工作效率,减少手动修改IP地址带来的错误,本文就来介绍一下Python自动修改电脑静态IP地址的实现示例,感兴趣的可以了解一下
    2023-11-11
  • python 实现在txt指定行追加文本的方法

    python 实现在txt指定行追加文本的方法

    下面小编就为大家分享一篇python 实现在txt指定行追加文本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python+Tkinter制作专属图形化界面

    Python+Tkinter制作专属图形化界面

    这篇文章主要是带着大家通过Python Tkinter制作一个属于自己的GUI图形化界面,可以用于设计签名的哦,感兴趣的小伙伴快跟随小编一起学习一下吧
    2022-04-04
  • PyCharm运行bash脚本的实现

    PyCharm运行bash脚本的实现

    本文主要介绍了PyCharm运行bash脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论