opencv中HOGDescriptor类说明

计算机图像处理—HOG 特征提取算法 计算机图像处理,HOG特征提取算法 阅读详情

来自:http://blog.youkuaiyun.com/raocong2010/article/details/6239431

最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个类的使用说明,所以在这里把研究的部分心得分享一下。

      首先我们进入HOGDescriptor所在的头文件,看看它的构造函数需要哪些参数。 

[cpp]  view plain copy
  1. CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8),  
  2.     cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1),  
  3.     histogramNormType(HOGDescriptor::L2Hys), L2HysThreshold(0.2), gammaCorrection(true),   
  4.     nlevels(HOGDescriptor::DEFAULT_NLEVELS)  
  5. {}  
[cpp]  view plain copy
  1. CV_WRAP HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride,  
  2.               Size _cellSize, int _nbins, int _derivAperture=1, double _winSigma=-1,  
  3.               int _histogramNormType=HOGDescriptor::L2Hys,  
  4.               double _L2HysThreshold=0.2, bool _gammaCorrection=false,  
  5.               int _nlevels=HOGDescriptor::DEFAULT_NLEVELS)  
  6. : winSize(_winSize), blockSize(_blockSize), blockStride(_blockStride), cellSize(_cellSize),  
  7. nbins(_nbins), derivAperture(_derivAperture), winSigma(_winSigma),  
  8. histogramNormType(_histogramNormType), L2HysThreshold(_L2HysThreshold),  
  9. gammaCorrection(_gammaCorrection), nlevels(_nlevels)  
  10. {}  
[cpp]  view plain copy
  1. CV_WRAP HOGDescriptor(const String& filename)  
  2. {  
  3.     load(filename);  
  4. }  
[cpp]  view plain copy
  1. HOGDescriptor(const HOGDescriptor& d)  
  2. {  
  3.     d.copyTo(*this);  
  4. }  

      我们看到HOGDescriptor一共有4个构造函数,前三个有CV_WRAP前缀,表示它们是从DLL里导出的函数,即我们在程序当中可以调用的函数;最后一个没有上述的前缀,所以我们暂时用不到,它其实就是一个拷贝构造函数。

      下面我们就把注意力放在前面的构造函数的参数上面吧,这里有几个重要的参数要研究下:winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize(8,8), nbins(9)。上面这些都是HOGDescriptor的成员变量,括号里的数值是它们的默认值,它们反应了HOG描述子的参数。这里做了几个示意图来表示它们的含义。

      窗口大小 winSize

      块大小 blockSize

      胞元大小 cellSize

      梯度方向数 nbins

      nBins表示在一个胞元(cell)中统计梯度的方向数目,例如nBins=9时,在一个胞元内统计9个方向的梯度直方图,每个方向为180/9=20度。

      HOG描述子维度

      在确定了上述的参数后,我们就可以计算出一个HOG描述子的维度了。OpenCV中的HOG源代码是按照下面的式子计算出描述子的维度的。 

[cpp]  view plain copy
  1. size_t HOGDescriptor::getDescriptorSize() const  
  2. {  
  3.     CV_Assert(blockSize.width % cellSize.width == 0 &&  
  4.         blockSize.height % cellSize.height == 0);  
  5.     CV_Assert((winSize.width - blockSize.width) % blockStride.width == 0 &&  
  6.         (winSize.height - blockSize.height) % blockStride.height == 0 );  
  7.     return (size_t)nbins*  
  8.         (blockSize.width/cellSize.width)*  
  9.         (blockSize.height/cellSize.height)*  
  10.         ((winSize.width - blockSize.width)/blockStride.width + 1)*  
  11.         ((winSize.height - blockSize.height)/blockStride.height + 1);  
  12. }  

      参考文献

      OpenCV中的HOG算法来源于Histograms of Oriented Gradients for Human Detection, CVPR 2005。详细的算法可以参考这个文章。

计算机视觉之HOG 特征提取算法 计算机视觉之HOG提取算法 阅读详情

相关推荐

HOG特征描述算子

1)HOG特征的原始文献 "Histograms of Oriented Gradients for Human Detection"  "Finding People in Images and Videos" (PhD Thesis) (较为详细) 2) HOG特征算子的网络参考资料 http://www.cnblogs.com/tornadomeet/archive/2012

2万+

OpenCV HOGDescriptor 参数图解

最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个类的使用说明,所以在这里把研究的部分心得分享一下。       首先我们进入HOGDescriptor所在的头文件,看看它的构造函数

浮城大亨的专栏 5902

opencv中的 HOGDescriptor 类

其定义在  object.hpp中找到的: struct CV_EXPORTS_W HOGDescriptor { public: enum { L2Hys=0 }; enum { DEFAULT_NLEVELS=64 }; CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockS

2万+

OpenCV 中的 HOGDescriptor

HOG 特征是深度学习兴起之前非常重要的一种特征。在早期,OpenCV 中的跟踪算法并不支持 HOG 特征,而检测模块中 HOGDescriptor 是一维的。后来,TrackerCSRT 的加入带来了 HOG 特征。然而,Object Detection 和 Deformable Part-based Models 共存令人十分困惑。二者的区别是什么?两个模块均包含 HOG 特征且 Tracke...

yiran103的专栏 2658

Opencv得到HOG特征(HOGDescriptor 的使用)

原理是很简单的, 在OpenCV实现的是R-HOG, 即对图像img->窗口window->块block->细胞单元cell进行向量统计 首先看描述器的构造函数, 我用         HOGDescriptor *desc=new HOGDescriptor(cvSize(40,80),cvSize(10,20),cvSize(5,10),cvSize(5,5),9); 进行测

ikerpeng 1万+

HOG-descriptor:在matlab中实现HOG(梯度直方图)特征提取

HOG描述符 在matlab中实现HOG(梯度直方图)特征提取。 此源代码最初来自[1] 我进行了一些更改,以便您可以直接运行hogtest.m进行测试。 HOG描述符的详细说明也可以在以下参考文献中找到。 [2] ; [3] 。

HOG简介和OpenCV HOGDescriptor的用法

HOG简介和OpenCV HOGDescriptor的用法 前言 本文是为 链接 服务的. 正文 HOG简介 HOG是 Histogram of Oriented Gradient 简称, 即 “方向梯度直方图”. 维基百科: https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients 百度百科: http

November、Chopin 9073

差分逻辑电平——LVDS、CML、LVPECL、HCSL互连

首先了解差分逻辑电平结构,也包括单端逻辑电平常见的逻辑电平_常用的逻辑电平-优快云博客注:ECL >> PECL >> LVPECL演变而来;QDR(Quad Data Rate):四倍数据倍率本文章只涉及差分逻辑电平:LVDS 、LVPECL、CML (高速)(最常用)在任何给定的系统设计中,必须设计驱动器侧和接收器侧之间的时钟逻辑转换。通过在它们之间增加衰减电阻和偏置电路来将一个差分时钟转换为其他类型的差分逻辑,来衰减摆幅电平并重新偏置共模输入接收器。

weixin_45365488的博客 4万+

基于OpenCV的行人检测 实战:基于openCV的行人检测(一)

负样本是从不包含人体的图片中随机截取,每张样本图片截取10张图,顶点随机生成,大小同样为64 * 128。在前面的任务中我们介绍了使用OpenCV进行图像处理,图像HOG特征的提取,SVM分类器以及非极大值抑制(NMS),在之后的任务中,我们将会基于OpenCV,使用SVM来对提取的HOG特征进行分类,进行行人检测任务,这里我们不再讨论HOG或者SVM的理论部分,直接进入实战阶段,本次任务为基于OpenCV的行人检测的第一部分,编程实现相关内容,在实践中对相关内容有一个深刻认识。

f3244077856的博客 1231

DM9000有线网卡驱动编写

DM9000有线网卡驱动编写 1.DM9000简介   DM9000 是一款完全集成的、性价比高、引脚数少、带有通用处理器接口的单芯片快速以太网控制器。 自 带一个 10/100M PHY 和 4K 双字的 SRAM ,DM9000A 为适应各种处理器提供了 8 位、16 位数据接口访问 内部存储器,DM9000 拥有自动协商功能,DM9000 特性如下:   1.集成自适应 10/100M 收发器。   2.内置 16k 字节的 SRAM。   3.支持硬件帧校验。   4.兼容 3.3V 和 5.0V

weixin_44453694的博客 4672

DSSAT模型实战:从基础配置到气候情景模拟

本文详细介绍了DSSAT模型在农业模拟中的应用,从基础配置到气候情景模拟的全流程实战指南。通过土壤-植物-大气连续体的动态关系建模,DSSAT能精准预测作物产量,误差率低至8%。文章涵盖气象数据处理、土壤参数配置、管理措施调控等核心技巧,并提供了Python脚本和可视化方法,助力农业科研与决策。

weixin_29264201的博客 1012

OpenCV中的HOGDescriptor 函数

1、函数原型声明和相应参数的解释 在这里告诫大家,关于OpenCV中一些函数的使用,最好去读英文原版注释,这样才能更深刻的去了解用途。 函数原型: cv2.HOGDescriptor(win_size = (64, 128), block_size = (16, 16), block_stride = (8, 8), ...

律己且好学,才能保证不坠入愤世嫉俗之列。 2501

基于 OptiSystem 的掺铒光纤放大器(EDFA)分析

通过构建 EDFA 仿真模型,系统分析了铒离子掺杂半径、离子浓度、光纤长度及泵浦功率等关键参数对放大器增益和噪声特性的影响规律,为 EDFA 的优化设计提供了理论依据与仿真支撑。继续增大至 9μm,增益趋于稳定(约 19dB)。继续增加至 200mW,增益仅增加 2dB,表明泵浦功率存在阈值效应(约 100mW),超过后增益饱和明显。:作为增益介质,主要参数包括光纤长度(5~50m)、铒离子掺杂半径(1~10μm)、离子浓度(1×10²⁵~5×10²⁵m⁻³)、纤芯半径 2.2μm、数值孔径 0.24。

2501_91855190的博客 2676

[Opencv源码阅读]HogDescriptor

Opencv中hog特征提取写在类HOGDescriptor中  默认的构造函数如下: CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1),

小柯的博客 2403

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

手把手教你学基带SOC芯片(4.4.9)--基带芯片的电源管理实例:高通 Snapdragon 系列实例(十)

Snapdragon 888 通过支持多种深度睡眠模式,如 AOAC 模式、低功耗模式和深度睡眠模式,以及智能电源管理技术,实现了对功耗的精细管理。这些模式不仅延长了设备的电池寿命,还确保了用户在各种使用场景下的良好体验。无论是保持网络连接、限制后台活动,还是完全关闭不必要的功能,Snapdragon 888 都能够灵活应对,提供高效的功耗管理方案。

MHD0815的博客 740

用opencv中HOGDescriptor类 实现简单行人检测

完整可运行代码如下 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/objdetect.hpp> #include "opencv2/imgproc/imgproc.hpp" #include <stdio.h> usi...

ECNU_sei_mfj的博客 937

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版))

为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。

从地图看世界的专栏 4298

opencv中HOGDescriptor()理解

python中opencv.HOGDescriptor()是一个类,其包含了许多函数,包括以下函数: def checkDetectorSize(self): def compute(self, img, winStride=None, padding=None, locations=None) def computeGradient(self, img, grad, angleOfs, padd...

qq_44906799的博客 1554

FFmpeg + Qt 实现摄像头采集与 MP3 背景音乐 RTSP 推流

在直播或视频监控场景中,我们经常需要将摄像头画面与背景音乐混合后推送到 RTSP 服务器。本文将详细介绍如何使用Qt框架结合摄像头实时采集(Windows 下使用dshow,Linux 使用v4l2视频预览(显示为 QImage)视频 H.264 编码 + RTSP 推流从 MP3 文件读取音频,重采样为 AAC 编码并推流循环播放音频文件解决中文文件路径打开失败的问题文章将剖析每个技术环节的关键代码,并给出完整的类实现。

weixin_45397344的博客 504

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

基于HOGDescriptor的行人检测

1)行人检测默认图像块为 64 * 128,当需要检测其他尺寸下是否存在行人时,需要将其缩放到默认尺寸,如尺寸 100 * 200, 128 * 256... ,但检测长宽比总为 1:2 的区域;以 8 * 8 的步长在 64 * 128 图像块上扫描图像,每次扫描形成一个 1 * 36 vector 并归一化,最终得到 7 * 15 * 36 = 3780 个元素的特征向量;double scale:计算其他检测尺度,当 scale 越趋近 1,形成更多检测尺度,检测越细致;

luofeiju的专栏 949

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HOGDescriptor 参数解释 OpenCV

参考文档: http://blog.youkuaiyun.com/raodotcong/article/details/6239431 http://blog.youkuaiyun.com/timidsmile/article/details/9314963 最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来

cloudspotting的博客 630

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: opencv中的surf和sift
下一篇: 模式识别与机器学习的简介
淡淡的生活
博客等级 码龄16年 341粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值