精华内容
下载资源
问答
  • matlab 提取HOG特征

    千次阅读 2017-11-20 16:32:46
    HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测。 算法流程图如下(这篇论文上的): 下面我再结合自己的程序,表述一遍吧: 1.对原图像...

    HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测。

    算法流程图如下(这篇论文上的):

    下面我再结合自己的程序,表述一遍吧:

    1.对原图像gamma校正,img=sqrt(img);

    2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率。

    3.将图像每16*16(取其他也可以)个像素分到一个cell中。对于256*256的lena来说,就分成了16*16个cell了。

    4.对于每个cell求其梯度方向直方图。通常取9(取其他也可以)个方向(特征),也就是每360/9=40度分到一个方向,方向大小按像素边缘强度加权。最后归一化直方图。

    5.每2*2(取其他也可以)个cell合成一个block,所以这里就有(16-1)*(16-1)=225个block。

    6.所以每个block中都有2*2*9个特征,一共有225个block,所以总的特征有225*36个。

    当然一般HOG特征都不是对整幅图像取的,而是对图像中的一个滑动窗口取的。

    lena图:

    求得的225*36个特征:

    matlab代码如下:

    复制代码
    clear all; close all; clc;
    
    img=double(imread('lena.jpg'));
    imshow(img,[]);
    [m n]=size(img);
    
    img=sqrt(img);      %伽马校正
    
    %下面是求边缘
    fy=[-1 0 1];        %定义竖直模板
    fx=fy';             %定义水平模板
    Iy=imfilter(img,fy,'replicate');    %竖直边缘
    Ix=imfilter(img,fx,'replicate');    %水平边缘
    Ied=sqrt(Ix.^2+Iy.^2);              %边缘强度
    Iphase=Iy./Ix;              %边缘斜率,有些为inf,-inf,nan,其中nan需要再处理一下
    
    
    %下面是求cell
    step=16;                %step*step个像素作为一个单元
    orient=9;               %方向直方图的方向个数
    jiao=360/orient;        %每个方向包含的角度数
    Cell=cell(1,1);              %所有的角度直方图,cell是可以动态增加的,所以先设了一个
    ii=1;                      
    jj=1;
    for i=1:step:m          %如果处理的m/step不是整数,最好是i=1:step:m-step
        ii=1;
        for j=1:step:n      %注释同上
            tmpx=Ix(i:i+step-1,j:j+step-1);
            tmped=Ied(i:i+step-1,j:j+step-1);
            tmped=tmped/sum(sum(tmped));        %局部边缘强度归一化
            tmpphase=Iphase(i:i+step-1,j:j+step-1);
            Hist=zeros(1,orient);               %当前step*step像素块统计角度直方图,就是cell
            for p=1:step
                for q=1:step
                    if isnan(tmpphase(p,q))==1  %0/0会得到nan,如果像素是nan,重设为0
                        tmpphase(p,q)=0;
                    end
                    ang=atan(tmpphase(p,q));    %atan求的是[-90 90]度之间
                    ang=mod(ang*180/pi,360);    %全部变正,-90变270
                    if tmpx(p,q)<0              %根据x方向确定真正的角度
                        if ang<90               %如果是第一象限
                            ang=ang+180;        %移到第三象限
                        end
                        if ang>270              %如果是第四象限
                            ang=ang-180;        %移到第二象限
                        end
                    end
                    ang=ang+0.0000001;          %防止ang为0
                    Hist(ceil(ang/jiao))=Hist(ceil(ang/jiao))+tmped(p,q);   %ceil向上取整,使用边缘强度加权
                end
            end
            Hist=Hist/sum(Hist);    %方向直方图归一化
            Cell{ii,jj}=Hist;       %放入Cell中
            ii=ii+1;                %针对Cell的y坐标循环变量
        end
        jj=jj+1;                    %针对Cell的x坐标循环变量
    end
    
    %下面是求feature,2*2个cell合成一个block,没有显式的求block
    [m n]=size(Cell);
    feature=cell(1,(m-1)*(n-1));
    for i=1:m-1
       for j=1:n-1           
            f=[];
            f=[f Cell{i,j}(:)' Cell{i,j+1}(:)' Cell{i+1,j}(:)' Cell{i+1,j+1}(:)'];
            feature{(i-1)*(n-1)+j}=f;
       end
    end
    
    %到此结束,feature即为所求
    %下面是为了显示而写的
    l=length(feature);
    f=[];
    for i=1:l
        f=[f;feature{i}(:)'];  
    end 
    figure
    mesh(f)
    展开全文
  • Matlab 提取Hog特征方法详细解析

    千次阅读 2016-12-29 21:47:29
    Hog特征,积分直方图

         前段时间,写了一篇《matlab Hog特征提取浅析》,当时只是完成了对Hog特征提取方法的简单原理分析。最近,我深入地研究了Hog特征的提取方法,并运用积分直方图对其加速。为了便于以后运用,特将这一过程中的构思,方法,问题一一记录下来。

       相关资料:

       1.http://blog.csdn.net/zouxy09/article/details/7929348/
       2.http://blog.csdn.net/xiaowei_cqu/article/details/17928733
       3.http://blog.csdn.net/WLMLBY/article/details/53446943

       提取Hog特征的方法是先把窗口图像分割成cell,再把cell分割成block。然后提取block中各像素点的方向梯度合成直方图,最后把这些block的直方图组合起来就得到了图像的Hog特征。
       下面具体说一下我的编程思路。

       主程序(Main.m):

    close all;clear all;clc;
    
    filePath = 'E:\HOG\HogSamples\';
    fileExt = '*.bmp';
    files = dir(fullfile(filePath,fileExt));
    len = size(files,1);
    % Generate a test Image.
    % testImg = reshape((1:16:256),4,4);
    % hogFeature = ExtrHogFeature(testImg,3,3,1,180,9);
    for i = 1:len
        tic;
        disp(['----------',num2str(i),'----------'])
        srcImg = imread(strcat(filePath,files(i,1).name));
        hogFeature = ExtrHogFeature(srcImg,5,4,2,360,15);
        toc;
    end

       在主程序中,我遍历了指定文件夹下(“E:\HOG\HogSamples\”)的指定后缀名(*.bmp)的文件。并将遍历得到的图像作为窗口图像传递给了ExtrHogFeature函数。ExtrHogFeature函数就是我编写的,用来提取Hog特征的函数。    ExtrHogFeature函数:

    function feature = ExtrHogFeature(imgFile,cellStep,blockStep,overlap,angle,binNum)
    
    if nargin < 2
        cellStep = 3;
        blockStep = 4;
        overlap = 1;
        angle = 180;
        binNum = 9;
    elseif nargin < 6
        error('Input parameters are not enough.');
    elseif overlap < 0 || overlap >= blockStep
        error('The input parameter "overlap" is wrong!');
    elseif angle ~= 180 && angle ~= 360
        error('The input parameter "angle" is only 180 or 360!');
    end
    
    [h,w,d] = size(imgFile);
    if(d ~= 1)
        grayImg = rgb2gray(imgFile);
    else
        grayImg = imgFile;
    end
    
    % Correct the width and height of imgFile.
    if w < cellStep
        cellNum_W = 1;
    else
        cellNum_W = ceil(w / cellStep);
        if cellNum_W < blockStep
            blockNum_W = 1;
        else
            blockNum_W = floor((cellNum_W - blockStep) / (blockStep - overlap)) + 1;
        end
    end
    corrW = cellStep * ((blockStep - overlap) * (blockNum_W - 1) + blockStep);
    
    if h < cellStep
        cellNum_H = 1;
    else
        cellNum_H = ceil(h / cellStep);
        if cellNum_H < blockStep
            blockNum_H = 1;
        else
            blockNum_H = floor((cellNum_H - blockStep) / (blockStep - overlap)) + 1;
        end
    end
    corrH = cellStep * ((blockStep - overlap) * (blockNum_H - 1) + blockStep);
    
    % Bilinear interpolation
    corrImg = BiliInter(grayImg,corrH,corrW);
    
    % The following contents need to be modified.
    corrImg = double(corrImg);
    
    flipImg = FlipImg(corrImg,1,1);
    Gx = zeros(corrH,corrW);
    Gy = zeros(corrH,corrW);
    range = angle / binNum;
    for i = 1:corrH
        for j = 1:corrW
            Gx(i,j) = flipImg(i,j + 1 + 1) - flipImg(i,j);
            Gy(i,j) = flipImg(i + 1 + 1,j) - flipImg(i,j);
            Gxy(i,j) = sqrt((Gx(i,j))^2 + (Gy(i,j))^2);
        end
    end
    if angle == 180
        Axy = (atan(Gy ./ Gx) / pi) * 180;
        Axy(find(Axy < 0)) = Axy(find(Axy < 0)) + 180;
    elseif angle == 360
        Axy = (atan2(Gx,Gy) / pi) * 180;
        Axy(find(Axy < 0)) = Axy(find(Axy < 0)) + 360;
    end
    Axy(isnan(Axy)) = 0;
    Axy = floor((Axy / range) + 1);
    
    coluHist = zeros(1,corrW,binNum);
    inteHist = zeros(corrH,corrW,binNum);
    for i = 1:corrW
        coluHist(1,i,Axy(1,i)) = Gxy(1,i);
        inteHist(1,i,Axy(1,i)) = Gxy(1,i);
        if i > 1
            inteHist(1,i,:) = inteHist(1,i,:) + inteHist(1,i - 1,:);
        end
    end
    for i = 2:corrH
        for j = 1:corrW
    	coluHist(1,j,Axy(i,j)) = coluHist(1,j,Axy(i,j)) + Gxy(i,j);
            if j == 1          
                inteHist(i,j,:) = coluHist(1,j,:);
            else          
                inteHist(i,j,:) = inteHist(i,j - 1,:) + coluHist(1,j,:);
            end
        end
    end
    
    tmpFeature = zeros(1,binNum);
    for i = 1:blockNum_H
        for j = 1:blockNum_W
            i1 = (i * (blockStep - overlap) + overlap - blockStep + 1) * cellStep;
            j1 = (j * (blockStep - overlap) + overlap - blockStep + 1) * cellStep;
            i2 = (i * (blockStep - overlap) + overlap - blockStep + 1) * cellStep;
            j2 = (j * (blockStep - overlap) + overlap) * cellStep;
            i3 = (i * (blockStep - overlap) + overlap) * cellStep;
            j3 = (j * (blockStep - overlap) + overlap - blockStep + 1) * cellStep;
            i4 = (i * (blockStep - overlap) + overlap) * cellStep;
            j4 = (j * (blockStep - overlap) + overlap) * cellStep;
            if i == 1 && j == 1
                tmpFeature(:) = inteHist(i4,j4,:);
                feature = tmpFeature;
            else
                tmpFeature(:) = inteHist(i4,j4,:) - inteHist(i2,j2,:) - inteHist(i3,j3,:) + inteHist(i1,j1,:);
                feature = [feature,tmpFeature];
            end
        end
    end
    
    maxValue = max(feature(:));
    minValue = min(feature(:));
    feature = (feature - minValue) / (maxValue - minValue) * 1000;
    % save ExtrHogFeature_Data

       在ExtrHogFeature函数中:

       1.参数意义:

       (1).imgFile:输入的窗口图像文件。

       (2).cellStep:cell的步长,即一个cell有多少个像素。理论上,cell的宽和高是可以不一样的,但是在实际编写程序时,这么做没有多大的意义,单纯增加代码量。所以,我只设置一个cellStep,默认cell是正方形。同理,下面的blockStep和overlap也是这样。

       (3).blockStep:block的步长,即一个block有多少个cell。注意:不是有多少个像素,是有多少个cell。

       (4).overlap:重叠数目。即后(下)一个block与前(上)一个block有几列(行)cell重叠。

       (5).angle:只能是两个值,180或者360。

       (6).binNum:积分直方图的区域数量。

        2.判断输入参数是否正确。

       (1).判断参数的数量。参数的数量只能是两种,1个或者6个。如果是1个,对除imgFile之外的其他参数进行默认赋值。

       (2).判断overlap是否正确。因为overlap表示两个block之间的重叠数量。所以,overlap不能大于或者等于blockStep。

       (3).判断angle是否正确。angle只能是180或360。

        3.判断图像的维数,并进行灰度化。这一步对应着相关资料1中的“标准化gamma空间和颜色空间”。从数学原理上看,只是对图像矩阵进行了开方。为了简化计算,对窗口图像进行灰度化。

        4.校正窗口图像的宽和高。在提取图像特征时,我一直秉持“不能减少图像的特征”的原则,即不能对图像进行裁剪。因为原始图像的宽和高,不一定能生成整数量的cell,更不一定能生成整数量的block。所以,需要利用双线性插值对原始图像进行校正(即缩放),使能生成整数量的block。

        举个例子:ExtrHogFeature(testImg,3,4,2,180,9),其中testImg是宽和高均为20个像素的测试窗口图像。cellStep=3,cellNum_W(每行cell的个数)=20/3=6.6,取cellNum_W =ceil(20/3)=7。

        设blockNum_W是每一行block的数量,满足下列公式:

        (blockStep - overlap) * (blockNum_W - 1) + blockStep >= cellNum_W   ①

        取满足公式的最小整数。即:

        blockNum_W = floor((cellNum_W - blockStep) / (blockStep - overlap)) + 1   ②

        由①式计算得出,blockNum_W>=2.5,所以(也可由②式得)blockNum_W=3。cellNum_W=(4-2)*(3-1)+4=8。所以,经过校正后的图像corrImg的宽corrW=8*3=24个像素。corrH计算同理。

        根据corrW和corrH,对原始图像进行双线性插值的缩放。双线性插值的函数BiliInter在本篇的末尾。因为不是本篇的主要内容,且易于理解,所以不做额外的讲解。

        5.计算每个像素的方向梯度。水平模板fx=[-1,0,1],垂直模板fy=fx’。

    为了计算corrImg的4条边上的方向梯度,要将4条边翻转。同双线性插值一样,翻转图像的函数FlipImg也在本篇的末尾。

        注意:atan和atan2的区别。atan(y/x)根据正切值y/x求出对应的角度,是2象限的反正切。atan2(y,x)的取值不仅取决于y/x的正切值,还取决于(x,y)落于哪个象限,是4象限的反正切。所以,当angle=180的时候,经过atan计算小于0的值是在-pi/2~0之间,需要+pi,把反正切值校正到pi/2~pi。当angle=360的时候,经过atan2计算小于0的值是在-pi~0之间,需要+2pi,把反正切值校正到pi~2pi。

        Axy中可能会出现0/0=Nan的情况,造成程序中止。所以,要有Axy(isnan(Axy)) = 0。

        6.计算原始窗口图像的积分直方图inteHist。我是根据相关资料2,编写整理的代码。将资料中的2维的积分图计算方法做了适当的修改,应用到3维的积分直方图计算。

        7.利用积分直方图,计算窗口图像的每个block的积分直方图,把这些block的直方图组合起来就得到了图像的Hog特征。并归一化到0~1000的范围内。

       BiliInter函数:

    function img = BiliInter(imgFile,dstH,dstW)
    
    if dstH <= 0 || dstW <= 0
        error('Input parameters are wrong!');
    end
    
    [srcH,srcW] = size(imgFile);
    img = zeros(dstH,dstW);
    for i = 0:dstH - 1
        for j = 0:dstW - 1
            actualW = (j / (dstW - 1)) * (srcW - 1);
            actualH = (i / (dstH - 1)) * (srcH - 1);
            w_Scale = actualW - floor(actualW);
            h_Scale = actualH - floor(actualH);
            leftUp = [floor(actualH) + 1,floor(actualW) + 1];
            rightUp = [floor(actualH) + 1,ceil(actualW) + 1];
            leftLow = [ceil(actualH) + 1,floor(actualW) + 1];
            rightLow = [ceil(actualH) + 1,ceil(actualW) + 1];
            tmpUp = (imgFile(rightUp(1),rightUp(2)) - imgFile(leftUp(1),leftUp(2))) * w_Scale + imgFile(leftUp(1),leftUp(2));
            tmpLow = (imgFile(rightLow(1),rightLow(2)) - imgFile(leftLow(1),leftLow(2))) * w_Scale + imgFile(leftLow(1),leftLow(2));
            img(i + 1,j + 1) = (tmpLow - tmpUp) * h_Scale + tmpUp;
        end
    end
    img = uint8(img);

       FlipImg函数:

    function img = FlipImg(imgFile,flipRowNum,flipColNum)
    % The flipRowNum is added on imgFile one way.
    % The flipColNum is similar to flipRowNum.
    [srcH,srcW] = size(imgFile);
    if flipRowNum > srcH || flipColNum > srcW
        error('Input parameters are too big!');
    end
    
    dstH = srcH + 2 * flipRowNum;
    dstW = srcW + 2 * flipColNum;
    tmpImgRow = zeros(dstH,srcW);
    img = zeros(dstH,dstW);
    % Fliped with Row.
    tmpImgRow(1:flipRowNum,:) = imgFile(flipRowNum:-1:1,:);
    tmpImgRow(flipRowNum + 1:flipRowNum + srcH,:) = imgFile(:,:);
    tmpImgRow(flipRowNum + srcH + 1:end,:) = imgFile(srcH:-1:srcH - flipRowNum + 1,:);
    % Fliped with Column.
    img(:,1:flipColNum) = tmpImgRow(:,flipColNum:-1:1);
    img(:,flipColNum + 1:flipColNum + srcW) = tmpImgRow(:,:);
    img(:,flipColNum + srcW + 1:end) = tmpImgRow(:,srcW:-1:srcW - flipColNum + 1);


    展开全文
  • 相问一下用Matlab提取HOG特征之后,所提取的HOG特征是一种什么形式啊,希望有人解答,菜鸟急的有点想哭了!!!
  • MATLAB实现HOG特征提取

    2020-09-29 05:00:16
    本程序使用matlab实现了图像HOG特征的提取,效果不错
  • matlab实现HOG算法

    2014-09-05 11:47:39
    matlab实现HOG算法,用于行人检测(提取hog特征)
  • 官方学习文档: ... https://ww2.mathworks.cn/help/vision/examples/digit-classification-using-hog-features.html (数字识别) 正好近期做行...

    官方学习文档:

    https://ww2.mathworks.cn/help/vision/ref/extracthogfeatures.html?s_tid=gn_loc_drop

    https://ww2.mathworks.cn/help/vision/examples/digit-classification-using-hog-features.html   (数字识别)

    正好近期做行人识别的一个Demo,所以用最经典的HOG来试一下

    img = imread('C:\Users\Desktop\test.png');
    [featureVector,hogVisualization] = extractHOGFeatures(img);
    figure;
    imshow(img);
    hold on;
    plot(hogVisualization);

    HOG特征检测图呢

    展开全文
  • matlab分析HOG特征提取出来的直方图

    千次阅读 2019-11-27 21:04:31
    使用matlab自带的extractHOGFeatures()函数提取HOG特征,对于一幅256*256的图,如果cell_size = 8,block_size= 2, 那么特征数量为:9*block_size^2*(256/8-1)^2 = 34596,绘制图形代码如下: img = imread('fire...

    使用matlab自带的extractHOGFeatures()函数提取HOG特征,对于一幅256*256的图,如果cell_size = 8,block_size = 2,

    那么特征数量为:9*block_size^2*(256/8-1)^2 = 34596,绘制图形代码如下:

    img = imread('fire.jpg');%替换路径即可运行,建议图片大小大于256*256,否则去掉下一行代码
    img = img(1:256,1:256);
    %img = imrotate(img,122);
    imshow(img)
    [feature,vision] = extractHOGFeatures(double(img),'CellSize',[8 8],'BlockSize',[2 2]);
    f = feature;
    figure;
    imshow(img);
    hold on
    plot(vision)

    接下来使用绘制直方图的命令:histogram绘制feature。在command window输入histogram(feature):

    原始图像绘制的feature直方图

    现在,使用函数rotate( ),将图像进行任意角度旋转(15 45 90 135 180)。运行,继续绘制feature直方图:

    img = imread('fire.jpg');
    img = img(1:256,1:256);
    img1 = imrotate(img,15);
    img2 = imrotate(img,45);
    img3 = imrotate(img,90);
    img4 = imrotate(img,135);
    img5 = imrotate(img,180);
    [feature1,vision1] = extractHOGFeatures(double(img),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(231)
    histogram(feature1)
    title('原始图像')
    [feature2,vision2] = extractHOGFeatures(double(img1),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(232)
    histogram(feature2)
    title('旋转15°')
    [feature3,vision3] = extractHOGFeatures(double(img2),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(233)
    histogram(feature3)
    title('旋转45°')
    [feature4,vision4] = extractHOGFeatures(double(img3),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(234)
    histogram(feature4)
    title('旋转90°')
    [feature5,vision5] = extractHOGFeatures(double(img4),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(235)
    histogram(feature5)
    title('旋转135°')
    [feature6,vision6] = extractHOGFeatures(double(img5),'CellSize',[8 8],'BlockSize',[2 2]);
    subplot(236)
    histogram(feature6)
    title('旋转180°')
    直方图

     从上图可以看出来,旋转后HOG特征的趋势基本保持不变,只是幅度发生了变化,包络趋势依然存在。说明HOG特征对于旋转能够保持很好的鲁棒性。

    20200404更新:HOG对于模糊的鲁棒性

    清晰图像和模糊图像
    直方图对比

     

    展开全文
  • 文件名称: test3下载 收藏√ [5 4 3 2 1]开发工具: matlab文件大小: 8262 KB上传时间: 2016-01-09下载次数: 111提 供 者: 刘彧详细说明:利用matlab实现hog特征提取与SVM分类方法 用来识别人车与背景-Using matlab ...
  • matlab Hog特征提取浅析

    千次阅读 2016-12-03 19:14:19
    最近,利用自己的业余时间学习了Hog特征的提取方法,并编写了一个简单的matlab程序。限于自身的程序水平,有很多地方写的不是很好,请大家多多指正,我也会逐步完善代码,其实,这又何尝不是在完善我自己呢? ...
  • 用matalab实现的是图像的二分类,hog用于图像的特征提取,svm表示的是对特征的分类。
  • HOG特征提取matlab代码

    2016-04-28 09:21:44
    HOG特征提取matlab代码
  • hog特征提取matlab实现

    2018-04-02 21:36:25
    文件里有matlab编写的HOG特征提取代码,还有Lena图和我的实验结果图
  • matlab实现hog+svm图像二分类

    万次阅读 热门讨论 2016-12-20 16:19:45
    最近因为需要实现hog+svm的分类代码,网上找了一些例子,觉得这篇博客还不错:...hog就是提取图片特征的。hog源程序参考http://blog.csdn.net/huangli19870217/article/detai
  • HOG特征提取 MATLAB源码

    热门讨论 2010-09-16 16:01:38
    HOG特征提取 MATLAB源码.经典论文Histograms of Oriented Gradients for Human Detection 的实现.
  • 方向梯度直方图(Histogram of Oriented Gradient,HOG)是用于在计算机视觉和图像处理领域,目标检测的特征描述子。该项技术是用来计算图像局部出现的方向梯度次数或信息进行计数。此种方法跟边缘方向直方图、尺度不变...
  • Matlab-vision包学习
  • HOG特征提取,以通过测试,希望对大家能够有所帮助。
  • HOG特征提取 matlab代码

    2014-07-25 10:58:23
    有注释,有助于初学者理解。注意,64位的可执行文件在32位机上执行不了
  • HOG特征描述子简介 HOG(Histogram of Oriented Gradients)是一种特征描述子,通常用于从图像数据中提取特征。它广泛用于计算机视觉任务的物体检测。 让我们看一下HOG的一些重要方面,它们与其他特征描述子不同: ...
  • 目标特征提取可以使用Hog算子,判断物体的类别则可以使用SVM实现。hog(方向梯度直方图) 在一副图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。其本质为梯度的统计信息,而梯度主要存在于...
  • 研究目标追踪时需要用到hog特征提取,用的是网络上都有的hog特征提取MATLAB代码,用来提取每帧图片hog特征,但是有的图片会出现该问题: ??? Attempted to access Hist(65); index out of bounds because numel...
  • HOG特征检测Matlab代码

    2013-06-18 09:36:21
    Matlab实现HOG特征提取,有注释,易懂!
  • hog特征的matlab实现

    2020-11-17 11:22:36
    matlab自带函数可以很好地提取hog特征,但是不好进行改进,因此在网上找了人家用maltab实现的hog特征提取,代码主要来自GitHub,具体地址为:https://github.com/chrisjmccormick/hog_matlab 针对hog特征提取部分,...

空空如也

空空如也

1 2 3 4
收藏数 79
精华内容 31
关键字:

matlab提取hog

matlab 订阅