• 大小: 17KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-08-01
  • 语言: Matlab
  • 标签: HOG  特征提取  

资源简介

基于HOG特征提取的图像分类器,HOG的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述。通过将整幅图像分割成小的连接区域称为cells,每个cell生成一个方向梯度直方图或者cell中pixel的边缘方向,这些直方图的组合可表示出所检测目标的目标)描述子。为改善准确率,局部直方图可以通过计算图像中一个较大区域称为block的光强作为measure被对比标准化,然后用这个measure归一化这个block中的所有cells.这个归一化过程完成了更好的照射/阴影不变性。

资源截图

代码片段和文件信息

function blockfeat = BinHOGFeature( b_magb_orientcell_sizenblock...  
    bin_num weight_vote)  
% 计算1个block的hog  
% weight_vote: 是否进行高斯加权投票  
   
% block的HOG直方图  
blockfeat=zeros(bin_num*nblock^21);  
   
% 高斯权重  
gaussian_weight=fspecial(‘gaussian‘cell_size*nblock0.5*cell_size*nblock);  
   
% 分割block  
for n=1:nblock  
    for m=1:nblock  
        % cell的左上角坐标  
        x_off = (m-1)*cell_size+1;  
        y_off = (n-1)*cell_size+1;  
   
        % cell的梯度大小和方向  
        c_mag=b_mag(y_off:y_off+cell_size-1x_off:x_off+cell_size-1);  
        c_orient=b_orient(y_off:y_off+cell_size-1x_off:x_off+cell_size-1);  
   
        % cell的hog直方图  
        c_feat=zeros(bin_num1);  
        for i=1:bin_num  
            % 是否进行高斯加权 投票  
            if weight_vote==false  
                c_feat(i)=sum(c_mag(c_orient==i));  
            else  
                c_feat(i)=sum(c_mag(c_orient==i).*gaussian_weight(c_orient==i));  
            end  
        end  
   
        % 合并到block的HOG直方图中  
        count=(n-1)*nblock+m;  
        blockfeat((count-1)*bin_num+1:count*bin_num1)=c_feat;  
    end  
end  
   
% 归一化 L2-norm  
sump=sum(blockfeat.^2);  
blockfeat = blockfeat./sqrt(sump+eps^2);  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2243  2016-12-09 15:23  ImgHOGFeature.m

     文件      15335  2016-09-23 16:15  3.jpg

     文件       1307  2016-12-09 15:04  BinHOGFeature.m

----------- ---------  ---------- -----  ----

                18885                    3


评论

共有 条评论