HOG描述子提取

HOG特征提取算法原理 1.算法基本流程   在一幅图像中,方向梯度直方图(Histogram of Oriented Gradient, HOG)能够很好地描述局部目标区域的特征,是一种常用的特征提取方法,HOG+SVM在行人检测中有着优异的效果。在HOG中,对一幅图像进行了如下划分: 图像(image)->检测窗口(win)->图像块(block)->细胞单元(cells) 流程图如下: ... 阅读详情

最近接触机器学习相关工作,工作中使用分类和检测算法,提取特征是算法的前提。OpenCV自带了HOG、Haar和LBP描述子。下面将工程中用到的HOG描述子特征提取进行记录整理。

一、OpenCV原函数:

1、特征描述子对应类的构造函数

CV_WRAP HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride,

                  Size _cellSize, int _nbins, int _derivAperture=1, double _winSigma=-1,

                  int _histogramNormType=HOGDescriptor::L2Hys,

                  double _L2HysThreshold=0.2, bool _gammaCorrection=false,

                  int _nlevels=HOGDescriptor::DEFAULT_NLEVELS)

    : winSize(_winSize), blockSize(_blockSize), blockStride(_blockStride), cellSize(_cellSize),

    nbins(_nbins), derivAperture(_derivAperture), winSigma(_winSigma),

    histogramNormType(_histogramNormType), L2HysThreshold(_L2HysThreshold),

    gammaCorrection(_gammaCorrection), nlevels(_nlevels)

{}

除了前五个参数都是默认参数,故此我们只关心前五个参数就可以了。

_winSize:图像大小,为了保证每张图像描述子个数相同,一般需要归一化成统一大小。

_blockSize:块大小,每一块提取一次描述子

_blockStride:滑窗移动跨度,提取完当前块移动到下一块的水平竖直距离

_cellSize:每个统计单元大小,每个块切割成若干个单元

_nbins:每个单元的特征值个数

2、计算特征值函数

CV_WRAP virtual void compute(const Mat& img,

                         CV_OUT vector<float>&descriptors,

                         Size winStride=Size(), Size padding=Size(),

                         const vector<Point>& locations=vector<Point>()) const;

同理,该函数只有前两个参数没有默认参数,一般只需要前两个参数便可。

img:输入图像

descriptors:图像对应的特征值结果

二、使用以上两个函数即可完成特征提取。

下面是使用示例:

vector<float>& hogFeature

Mat imggray1;

resize(imggray, imggray1, Size(cnSizeW, cnSizeH),0, 0, CV_INTER_LINEAR);

vector<float> desHogs;

HOGDescriptorhog(imggray1.size(), Size(16, 16), Size(8, 8), Size(8, 8), 9);

hog.compute(imggray1,desHogs);

for (vector<float>::iterator it = desHogs.begin();it != desHogs.end(); it++)

{

    hogFeature.push_back(*it);

}

这样就将图像imggray中的HOG特征向量提取出来,存放到hogFeature中。具体如何使用该向量,是检测和分类算法的问题了。

当然可以根据具体需求设计自己的描述子,但是,一般使用算法库自带的描述子提取函数已经足够了。
HOG特征集描述子 基于HOG特征集的行人检测技术,本文的概述对于初学者来说,真的太实用了,清晰明了,易于理解 立即下载

相关推荐

hog特征算法

HOG(Histogram of Oriented Gridients的简写)特征检测算法,最早是由法国研究员Dalal等在CVPR-2005上提出来的,一种解决人体目标检测的图像描述子,是一种用于表征图像局部梯度方向和梯度强度分布特性的描述符。其主要思想是:在边缘具体位置未知的情况下,边缘方向的分布也可以很好的表示行人目标的外形轮廓。 Dalal等提出的HOG+SVM算法,在进行行人检测取得了极大地成功后,更多新算法不断涌现,不过大都是以HOG+SVM的思路为主线。 HOG特征检测算法的几个步骤:颜色空间归一化—>梯度计算—>梯度方向直方图—>重叠块直方图归一化—>HOG特征。

opencv特征检测 HOG特征算法

Hog 算法的工作原理是创建图像中梯度方向分布的柱状图,然后以一种非常特殊的方式对其进行归一化。这种特殊的归一化使得Hog 能够有效地检测物体的边缘,即使在对比度很低的情况下也是如此。这些标准化的柱状图被放在一个特征向量(称为 HOG 描述符)中,可以用来训练机器学习算法,例如支持向量机(SVM),以根据图像中的边界(边)检测对象。由于它的巨大成功和可靠性,HOG 已成为计算机视觉中应用最广泛的目标检测算法之一。特征描述符是图像或图像补丁的表示形式,它通过提取有用信息并丢弃无关信息来简化图像。

apple_52030329的博客 2401

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9811

目标检测的图像特征提取之(一)HOG特征

1、HOG特征:        方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal

liulina603的专栏 27万+

SAP 接口测试操作-业务顾问

业务顾问测试接口操作

weixin_43657667的博客 5163

利用 vivado实现加减法器的设计

本科计组实验:利用 vivado实现加减法器的设计

qq_52052302的博客 1万+

HOG特征描述子的解释【DataWhale学习记录】

参考文献: 第十八节、基于传统图像处理的目标检测与识别(HOG+SVM附代码) HOG特征 图像特征工程:HOG特征描述子介绍 HOG特征 推荐的一个pdf学习文件是:HOG特征描述算子-行人检测 1 HOG特征描述子的简介 Histogram of Oriented Gridients(HOG) 方向梯度直方图。 HOG特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,是与SIFT、SURF、ORB属于同一类型的描述符。 HOG不是基于颜色值而是基于梯度来计算直方图的,它通过计算和统计图像局

m0_38052500的博客 761

基于Python的京东商品价格监控与降价提醒系统设计与实现

本文详细介绍了如何使用Python构建一个完整的京东商品价格监控与降价提醒系统。系统通过爬虫技术实时抓取京东商品价格信息,结合数据存储与分析,实现价格波动监控和智能降价提醒功能。文章涵盖了系统设计、技术选型、代码实现以及部署方案,为电子商务价格监控领域提供了一个实用的解决方案。关键词:Python爬虫、京东API、价格监控、降价提醒、自动化。

2201_76125261的博客 405

【机器学习】CV特征描述子HOG 、SIFT

介绍SIFT特征描述子和HOG特征描述子

weixin_63062756的博客 935

手把手教你学Simulink--FIR滤波器的设计与优化仿真

FIR滤波器的设计目标通常包括指定的频率响应特性(如低通、高通、带通或带阻),以及特定的应用需求(如线性相位、最小化误差等)。Simulink提供了一个直观且强大的平台来模拟这些设计,并允许用户通过调整参数实时观察其对系统性能的影响。明确你的系统需求,比如输入信号类型(如正弦波组合)、采样率、FIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通FIR滤波器,用来去除高于1kHz的所有频率成分,保留低于1kHz的信号成分。采样率为8kHz。

MHD0815的博客 348

AI Agent的数据安全与隐私保护措施

AI Agent(人工智能代理)作为一种能够感知环境、做出决策并采取行动的智能实体,在现代社会的各个领域中得到了广泛的应用,如智能客服、自动驾驶、金融风险评估等。随着其应用的不断拓展,AI Agent处理和存储的数据量急剧增加,这些数据包含了大量的个人敏感信息和商业机密。因此,确保AI Agent的数据安全与隐私保护变得至关重要。本文的目的在于全面探讨AI Agent的数据安全与隐私保护措施,涵盖从数据的采集、存储、处理到传输的整个生命周期。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 2870

OpenCV3特征提取与目标检测之HOG(一)——HOG的概述与原理

HOG原下概述与代码

知来者逆的博客 2万+

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 483

【OpenCV】102 HOG特征描述子—提取描述子

102 代码 实验结果 解释 优点 所有内容均来源于贾志刚老师的知识星球——OpenCV研习社,本文为个人整理学习,已获得贾老师授权,有兴趣、有能力的可以加入贾老师的知识星球进行深入学习。 ...

刘小胖的博客 844

【YOLOv10改进[Backbone]】使用ADNet改进YOLOv10在噪声干扰下的目标检测效果(图像去噪)+ 含全部代码和详细修改方式 + 手撕结构图 + 全网首发

使用ADNet改进YOLOv10在噪声干扰下的目标检测效果(图像去噪)+ 含全部代码和详细修改方式 + 手撕结构图 + 全网首发 + 遥遥领先

静谧、淡雅 2859

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

c++ 提取傅里叶描述子_Opencv从零开始 - 「进阶篇」- HOG特征及其描述子提取

✒️ HOG特征是对象识别与模式匹配中是一种常见的特征提取算法, 本文主要介绍了HOG特征以及利用其描述子加SVM方法实现检测功能,具体的内容可以参考下文~目录概述HOG特征描述子提取HOG+SVM 检测示例小结概述✔️ HOG(Histogram of Oriented Gradient)特征在对象识别与模式匹配中是一种常见的特征提取算法,是基于本地像素块进行特征直方图提取的一种算法,对象局部的...

weixin_39706861的博客 589

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Matlab-vision包学习-Feature Detection,Extraction and Matching-提取HOG描述子

Matlab-vision包学习

hit1524468的专栏 3774

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

傅里叶描述子、HOG特征描述子原理及matlab代码

一、傅里叶描述子 傅里叶描述子的作用是用来描述图像的轮廓信息,具有平移、旋转、尺度不变性特征。 对于一幅图像,通过傅里叶描述子获得其图像轮廓信息,其本质就是空间、频域变换问题。通过将图像中的像素点进行傅里叶变换,得到得到图像的轮廓信息, 对于曲线上一点,可以用复数表示: 对s(t)进行傅里叶变换可得: 其中,a(k)为傅里叶描述子,为了使其具有平移,缩放,和旋转不变性需要对其进行归一化,归一化后的模为: 二、特征描述子 特征描述子,实质是把图像转换为向量表示。 1、HOG(Histogram of Or

weixin_45858794的博客 1万+

HOG特征提取之HOGDescriptor类

原文转自:https://blog.youkuaiyun.com/qq_26898461/article/details/46786285 最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。 然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个...

Linux_bin的博客 882

Emgu.CV训练自己的hog特征,可实现任意物体的检测

emgu.cv自行训练HOG,目前最详细的一篇C#资料

技术+管理+经验+沟通+人品=>合格的项目管理者 1万+

图像匹配导航定位技术 第 10 章

SAR 与可见光图像由不同传感器拍摄而成,属于异源图像。异源图像匹配是指将不同传感器在不同时间 、不同视角拍摄相同景物形成的两幅图像在空间位置上进行对准,并确定两幅图像之间的几何变换关系。原理是寻找实时图在参考图上的位置,根据位置信息确定它们之间的变换关系。SAR 与可见光图像匹配的目的在于确定 SAR 传感器获取的实时图与飞行器中预存的可见光参考图之间的几何变换关系,并根据变换确定飞行器成像时刻的位置信息,从而修正惯性导航的累积误差,提高制导精度。

tmiger的博客 1019

HOG descriptor computation and visualization Hog 特征的计算与显示

HOG descriptor computation and visualization Computing the HOG descriptor using OpenCV Mat img_raw = imread("C:\\testimg.png", 1); // load as color image   resize(img_raw, img_raw, Size(64,128

1832

hog源码分析

转自:http://www.cnblogs.com/wszzdyyp/archive/2012/10/14/2723548.html 一、网上一些参考资料        在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采用的是hog算法,那么hog算法是怎样实现的呢?这一节就

Armily的专栏 3543

HOG特征提取

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

勿在浮砂筑高台 1292

Opencv学习之路——自己编写的HOG算法

#include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2\opencv.hpp> #include<iostream> #include<fstream> using namespace std; u...

weixin_33736649的博客 198

HOG+SVM的EMGU2.4版本转换EMGU3.0

目标: 把hog+svm的程序中用的emgu2.4版本改写成3.0版本 本文内容: 写出emgu2.4和3.0版本在hog和svm上改了哪些,和对应功能的替换方法 网上好像对于两个版本的参考资料很少,而且都很分散;刚好因为项目要求,就借着这次机会整理一下 2.4版本到3.0版本更新了好多东西,其实改版本远不如重...

EpsilonT的博客 335
上一篇: C++简易接口示例
下一篇: opencv分类算法实例
chasingMax
博客等级 码龄9年 8粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值