图像HOG特征的生成

本文通过分析MATLAB代码,详细解释了HOG(Histogram of Oriented Gradients)特征的生成过程,这对于理解和应用HOG特征有所帮助。虽然这里的实现简单,不同于复杂的DPM(Deformable Part Models)中的HOG,但依然是学习HOG计算的良好起点。完整代码可在作者资源中获取。
摘要由CSDN通过智能技术生成

本文主要是根据分析一份matlab代码PHOG特征生成的demo得到的,作为总结便于以后使用。

if sum(sum(G))>100
    E = edge(G,'canny');
    [GradientX,GradientY] = gradient(double(G));
    GradientYY = gradient(GradientY);
    Gr = sqrt((GradientX.*GradientX)+(GradientY.*GradientY));
            
    index = GradientX == 0;
    GradientX(index) = 1e-5;
            
    YX = GradientY./GradientX;
    if angle == 180, A = ((atan(YX)+(pi/2))*180)/pi; end
    if angle == 360, A = ((atan2(GradientY,GradientX)+pi)*180)/pi; end
                                
    [bh bv] = anna_binMatrix(A,E,Gr,angle,bin);
else
    bh = zeros(size(I,1),size(I,2));
    bv = zeros(size(I,1),size(I,2));
end
首先需要说明的是G是一幅灰度图,将灰度图看做矩阵进行统计,看看是否有足够的像素产生梯度信息,如果小于100的话,表明整个图像接近于是一幅完全的黑色图像。经过上面的比较之后,再对图像进行canny轮廓处理,得到的图像为0-1二值图像(至于其用处在后面介绍)。紧跟其后
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
HOG(Histogram of Oriented Gradients)特征图是一种用于目标检测和图像识别的视觉特征表示方法。它通过计算图像中局部区域的梯度方向直方图来描述图像的外观特征HOG特征图的生成过程包括以下几个步骤: 1. 图像预处理:首先,需要将输入图像转换为灰度图像,因为灰度图像对目标的亮度变化更具鲁棒性。 2. 梯度计算:对于每个像素点,通过计算其在x和y方向上的梯度值,可以得到该像素点的梯度幅值和方向。 3. 单元划分:将整个图像划分为若干个小单元格,每个单元格内包含一定数量的像素点。 4. 方向直方图计算:对于每个单元格,根据其中像素点的梯度方向,统计不同方向上的梯度幅值的累加和,构成一个方向直方图。 5. 块归一化:将相邻单元格的方向直方图进行块归一化,以增强特征的鲁棒性。 6. 特征向量拼接:将所有归一化的方向直方图拼接成一个特征向量,即HOG特征向量。 HOG特征图具有以下几个优点: 1. 不受图像大小和旋转的影响:HOG特征图能够有效地描述目标的形状和纹理特征,对图像大小和旋转变化具有一定的鲁棒性。 2. 抗光照变化能力强:由于HOG特征图是基于梯度计算的,因此对光照变化的抗干扰能力较强。 3. 计算效率较高:HOG特征图的计算过程相对简单,运算量较小,可以实时处理视频流等大规模数据。 总之,HOG 特征图是一种有效的目标检测和图像识别的特征描述方法,具有高效、鲁棒性强等优点,在计算机视觉领域得到了广泛应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值