翻译自原文:

目标检测是一个程序,他用来确定图像的某个区域是不是含有要进行识别的对象,对象识别是程序识别对象的能力。识别通常是只处理已经检测到对象的区域,例如,人们总是会在有人脸图像的地方去识别人脸。

一般来说会用到下面的三种技术
1.梯度直方图

2.图像金字塔

3.滑动窗口

行了,话不多说。咱们不是来研究这些东西的,只是为了应用罢了,直接来上一个例子,下面的是c++的demo

#include<opencv2/opencv.hpp>
#include<vector>
using namespace cv;
using namespace std;
int main()
{Mat img;vector<Rect> found;img = imread("2.jpg");if (img.empty()){printf("没有图片\n");return -1;}HOGDescriptor defaultHog;defaultHog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());//进行检测defaultHog.detectMultiScale(img, found);//画长方形,框出行人for (int i = 0; i < found.size(); i++){Rect r = found[i];rectangle(img, r.tl(), r.br(), Scalar(0, 0, 255), 3);}namedWindow("检测行人", CV_WINDOW_AUTOSIZE);imshow("检测行人", img);waitKey(0);return 0;
}

发完了c++的demo,有的小伙伴说c++看不懂,那没关系,咱们再来一种语言,那就是时下最流行的Python语言

import cv2
import numpy as npdef is_inside(o, i):ox, oy, ow, oh = oix, iy, iw, ih = ireturn ox > ix and oy > iy and ox + ow < ix + iw and oy + oh < iy + ihdef draw_person(image, person):x, y, w, h = personcv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 255), 2)img = cv2.imread('2.jpg')
# a, b = img.shape[:2]
# img = cv2.resize(img, (a//5, b//5))
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())found, w = hog.detectMultiScale(img)found_filtered = []for ri, r in enumerate(found):for qi, q in enumerate(found):if ri != qi and is_inside(r, q):breakelse:found_filtered.append(r)for person in found_filtered:draw_person(img, person)cv2.imshow('people detection', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

发完了代码,接下来就是看看demo的运行结果是什么了,先来发一下c++的代码的结果

接下来再来一下py的代码的结果

总之呢,今天的文章就到这里了,代码有什么不明白了,请给我留言,我会尽我所能的给你解答,但是本人水平有限不能保障所有的问题都能解答,或者是本人的时间比较紧迫,有时候会看不见消息,请见谅。

opencv 目标检测之行人检测相关推荐

  1. python行人检测_行人检测 基于 OpenCV 的人体检测

    原文链接行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...

  2. pythonopencv检测行人_【图像处理】使用OpenCV实现人脸和行人检测

    OpenCV全称是Open source Computer Vision Library(开放源代码计算机视觉库),是一个用于图像处理.分析.机器视觉方面的开源函数库,提供了很多图像处理的工具和可以直 ...

  3. 人脸检测和行人检测2:YOLOv5实现人脸检测和行人检测(含数据集和训练代码)

    人脸检测和行人检测2:YOLOv5实现人脸检测和行人检测(含数据集和训练代码) 目录 人脸检测和行人检测2:YOLOv5实现人脸检测和行人检测(含数据集和训练代码) 1. 前言 2. 人脸检测和行人检 ...

  4. 目标检测之行人检测(Pedestrian Detection)基于hog(梯度方向直方图)--- 梯度直方图特征行人检测、人流检测2...

    本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类.其实使用起来是很简单的,从后面的代码就可以看出来.本文参考的资料为opencv自带的sample. 关于op ...

  5. 夜间(低光照)目标检测数据集整理:人脸检测,行人检测

    1.夜间(低光照)人脸检测的数据集 DARK FACE: Face Detection in Low Light Condition 提供了6000幅真实世界的低光图像,在夜间捕获,在教学楼.街道.桥 ...

  6. 【行人检测】行人检测综述

    1. pipeline Proposal generation:滑窗,粒子窗(particle-window),对象性方法(objectness method),区域建议网络(region propo ...

  7. 测试项目:车牌检测,行人检测,红绿灯检测,人流检测,目标识别

    本项目为2020年中国软件杯A组第一批赛题"基于计算机视觉的交通场景智能应用".项目用python实现,主要使用YOLO模型实现道路目标如人.车.交通灯等物体的识别,使用开源的"中文车牌识别Hyper ...

  8. opencv canny源码解析_行人检测 基于 OpenCV 的人体检测

    原文链接 行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 在 2019年8月1日 上张贴 由 hotdog发表回复 行人检测 基于 OpenCV 的人体检测 我们都知道 ...

  9. pythonopencv检测行人_行人检测 基于 OpenCV 的人体检测

    原文链接行人检测 基于 OpenCV 的人体检测 - 热分享​hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...

最新文章

  1. 路径,文件,目录,I/O常见操作汇总
  2. RocketMQ 实战(一) - 简介
  3. Asp.net Dynamic Data之三改变编辑和操作数据的现实方式
  4. 数据库的七种传播方式
  5. 信息安全系统设计基础第一周学习总结
  6. Angular 依赖注入的学习笔记
  7. ios端input 光标问题
  8. 导航系统辅助设备行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. Android 任务栈空间,【Android】任务和返回栈(tasks and back stack)
  10. memset 函数使用
  11. 数值分析(计算方法)
  12. 你值得拥有的Mac PS滤镜插件和特效处理软件合集,不要错过!
  13. java程序员待遇怎么样_现在的java程序员薪资待遇怎么样?
  14. C语言中extern的用法
  15. 猜拳小游戏java_java 猜拳小游戏
  16. VSFTP一键部署脚本
  17. Lossless CNN Channel Pruning via Decoupling Remembering and Forgetting
  18. 文件宝局域网传输/播放功能Windows10系统经验贴(感谢文件宝用户@卡卡罗特 和@24K 純情)...
  19. 苹果CMS V10仿韩剧TV主题模板源码 | 苹果CMS主题
  20. gdal在java环境中读取mif/mid文件以及写入数据

热门文章

  1. beanstalkd java使用_PHP使用Beanstalkd实例
  2. 华为新系统鸿蒙手机8月发布,华为正式发布鸿蒙手机操作系统
  3. JavaScript+css实现的响应式登录注册页面web前端html源码
  4. 设计模式之行为模式(一)
  5. [操作系统]进程同步和互斥
  6. 利用神经网络让Shader纯数学绘制任意图片
  7. 电商后台系统:管理后台篇之库存管理
  8. 华为手机不亮屏也能显示时间日期?10秒就能设置,原来这么简单
  9. 一步步教你学会browserify
  10. 【IDE-Visual Studio】灾难性故障(异常来自 HRESULT:0x8000FFFF (E_UNEXPECTED))