function norm_HOG = pmHOG_extractHOG(I)
    h = size(I, 1) / 8;
    w = size(I, 2) / 8;
    
    norm_HOG = zeros((h-1), (w-1), 36);
    
    for block_h = 1:(h-1)
        for block_w = 1:(w-1)
            
            BLOCK = I((block_h-1)*8+1:(block_h-1)*8+16, (block_w-1)*8+1:(block_w-1)*8+16);
            
            BLOCK = imgaussfilt(BLOCK, 0.1);
            feature_vector = [];
            
            for cell_h = 1:2
                for cell_w = 1:2
                    CELL = BLOCK((cell_h-1)*8+1:(cell_h-1)*8+8, (cell_w-1)*8+1:(cell_w-1)*8+8);
                    [PHI, MAG] = pmHOG_gradient(CELL);
                    H = pmHOG_binner(PHI, MAG);
                    feature_vector =[feature_vector H] ;
                end
            end
            feature_vector = feature_vector ./ sum(feature_vector(:));
            norm_HOG(block_h, block_w, :) = feature_vector;
        end
    end
end
