类 HOGDescriptor


  • public class HOGDescriptor
    extends java.lang.Object
    HOG(定向梯度直方图)描述符和目标检测器的实现。HOG描述符算法由Navneet Dalal和Bill Triggs提出 CITE: Dalal2005 。有用链接:https://hal.inria.fr/inria-00548512/document/ https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients https://software.intel.com/en-us/ipp-dev-reference-histogram-of-oriented-gradients-hog-descriptor http://www.learnopencv.com/histogram-of-oriented-gradients http://www.learnopencv.com/handwritten-digits-classification-an-opencv-c-python-tutorial
    • 字段详情

      • nativeObj

        protected final long nativeObj
      • DEFAULT_NLEVELS

        public static final int DEFAULT_NLEVELS
        另请参见
        常量字段值
      • DESCR_FORMAT_COL_BY_COL

        public static final int DESCR_FORMAT_COL_BY_COL
        另请参见
        常量字段值
      • DESCR_FORMAT_ROW_BY_ROW

        public static final int DESCR_FORMAT_ROW_BY_ROW
        另请参见
        常量字段值
    • 构造函数详情

      • HOGDescriptor

        protected HOGDescriptor​(long addr)
      • HOGDescriptor

        public HOGDescriptor()
        创建具有默认参数的 HOG 描述符和检测器。等于 HOGDescriptor(Size(64,128), Size(16,16), Size(8,8), Size(8,8), 9 )
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma,
                             int _histogramNormType,
                             double _L2HysThreshold,
                             boolean _gammaCorrection,
                             int _nlevels,
                             boolean _signedGradient)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
        _histogramNormType - 使用给定值设置 histogramNormType。
        _L2HysThreshold - 使用给定值设置 L2HysThreshold。
        _gammaCorrection - 使用给定值设置 gammaCorrection。
        _nlevels - 使用给定值设置 nlevels。
        _signedGradient - 使用给定值设置 signedGradient。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma,
                             int _histogramNormType,
                             double _L2HysThreshold,
                             boolean _gammaCorrection,
                             int _nlevels)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
        _histogramNormType - 使用给定值设置 histogramNormType。
        _L2HysThreshold - 使用给定值设置 L2HysThreshold。
        _gammaCorrection - 使用给定值设置 gammaCorrection。
        _nlevels - 使用给定值设置 nlevels。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma,
                             int _histogramNormType,
                             double _L2HysThreshold,
                             boolean _gammaCorrection)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
        _histogramNormType - 使用给定值设置 histogramNormType。
        _L2HysThreshold - 使用给定值设置 L2HysThreshold。
        _gammaCorrection - 使用给定值设置 gammaCorrection。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma,
                             int _histogramNormType,
                             double _L2HysThreshold)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
        _histogramNormType - 使用给定值设置 histogramNormType。
        _L2HysThreshold - 使用给定值设置 L2HysThreshold。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma,
                             int _histogramNormType)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
        _histogramNormType - 使用给定值设置 histogramNormType。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture,
                             double _winSigma)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
        _winSigma - 使用给定值设置 winSigma。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins,
                             int _derivAperture)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
        _derivAperture - 使用给定值设置 derivAperture。
      • HOGDescriptor

        public HOGDescriptor​(Size _winSize,
                             Size _blockSize,
                             Size _blockStride,
                             Size _cellSize,
                             int _nbins)
        参数
        _winSize - 使用给定值设置 winSize。
        _blockSize - 使用给定值设置 blockSize。
        _blockStride - 使用给定值设置 blockStride。
        _cellSize - 使用给定值设置 cellSize。
        _nbins - 使用给定值设置 nbins。
      • HOGDescriptor

        public HOGDescriptor​(java.lang.String filename)
        创建HOG描述符和检测器,并从文件中加载HOGDescriptor参数和线性SVM分类器的系数。
        参数
        filename - 包含 HOGDescriptor 属性和线性 SVM 分类器系数的文件名。
    • 方法详情

      • getNativeObjAddr

        public long getNativeObjAddr()
      • __fromPtr__

        public static HOGDescriptor __fromPtr__​(long addr)
      • getDescriptorSize

        public long getDescriptorSize()
        返回分类所需的系数数量。
        返回
        自动生成
      • checkDetectorSize

        public boolean checkDetectorSize()
        检查检测器大小是否等于描述符大小。
        返回
        自动生成
      • getWinSigma

        public double getWinSigma()
        返回 winSigma 值
        返回
        自动生成
      • setSVMDetector

        public void setSVMDetector​(Mat svmdetector)
        设置线性 SVM 分类器的系数。
        参数
        svmdetector - 线性SVM分类器的系数。
      • 加载

        public boolean load​(java.lang.String filename,
                            java.lang.String objname)
        从文件中加载 HOGDescriptor 参数和线性 SVM 分类器的系数。
        参数
        filename - 要读取的文件名。
        objname - 要读取的节点的可选名称(如果为空,则使用第一个顶级节点)。
        返回
        自动生成
      • 加载

        public boolean load​(java.lang.String filename)
        从文件中加载 HOGDescriptor 参数和线性 SVM 分类器的系数。
        参数
        filename - 要读取的文件名。
        返回
        自动生成
      • 保存

        public void save​(java.lang.String filename,
                         java.lang.String objname)
        将 HOGDescriptor 参数和线性 SVM 分类器的系数保存到文件中。
        参数
        filename - 文件名
        objname - 对象名
      • 保存

        public void save​(java.lang.String filename)
        将 HOGDescriptor 参数和线性 SVM 分类器的系数保存到文件中。
        参数
        filename - 文件名
      • 计算

        public void compute​(Mat img,
                            MatOfFloat descriptors,
                            Size winStride,
                            Size padding,
                            MatOfPoint locations)
        计算给定图像的HOG描述符。
        参数
        img - 类型为CV_8U的矩阵,包含将计算HOG特征的图像。
        descriptors - 类型为CV_32F的矩阵
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
        locations - 点向量
      • 计算

        public void compute​(Mat img,
                            MatOfFloat descriptors,
                            Size winStride,
                            Size padding)
        计算给定图像的HOG描述符。
        参数
        img - 类型为CV_8U的矩阵,包含将计算HOG特征的图像。
        descriptors - 类型为CV_32F的矩阵
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
      • 计算

        public void compute​(Mat img,
                            MatOfFloat descriptors,
                            Size winStride)
        计算给定图像的HOG描述符。
        参数
        img - 类型为CV_8U的矩阵,包含将计算HOG特征的图像。
        descriptors - 类型为CV_32F的矩阵
        winStride - 窗口步长。它必须是块步长的倍数。
      • 计算

        public void compute​(Mat img,
                            MatOfFloat descriptors)
        计算给定图像的HOG描述符。
        参数
        img - 类型为CV_8U的矩阵,包含将计算HOG特征的图像。
        descriptors - 类型为CV_32F的矩阵
      • 检测

        public void detect​(Mat img,
                           MatOfPoint foundLocations,
                           MatOfDouble weights,
                           double hitThreshold,
                           Size winStride,
                           Size padding,
                           MatOfPoint searchLocations)
        执行无多尺度窗口的目标检测。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 点向量,其中每个点包含检测到的对象边界的左上角点。
        weights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
        searchLocations - 点向量,包含要评估的请求位置集。
      • 检测

        public void detect​(Mat img,
                           MatOfPoint foundLocations,
                           MatOfDouble weights,
                           double hitThreshold,
                           Size winStride,
                           Size padding)
        执行无多尺度窗口的目标检测。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 点向量,其中每个点包含检测到的对象边界的左上角点。
        weights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
      • 检测

        public void detect​(Mat img,
                           MatOfPoint foundLocations,
                           MatOfDouble weights,
                           double hitThreshold,
                           Size winStride)
        执行无多尺度窗口的目标检测。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 点向量,其中每个点包含检测到的对象边界的左上角点。
        weights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
      • 检测

        public void detect​(Mat img,
                           MatOfPoint foundLocations,
                           MatOfDouble weights,
                           double hitThreshold)
        执行无多尺度窗口的目标检测。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 点向量,其中每个点包含检测到的对象边界的左上角点。
        weights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
      • 检测

        public void detect​(Mat img,
                           MatOfPoint foundLocations,
                           MatOfDouble weights)
        执行无多尺度窗口的目标检测。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 点向量,其中每个点包含检测到的对象边界的左上角点。
        weights - 将包含每个检测到的对象的置信度值的向量。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold,
                                     Size winStride,
                                     Size padding,
                                     double scale,
                                     double groupThreshold,
                                     boolean useMeanshiftGrouping)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
        scale - 检测窗口增大的系数。
        groupThreshold - 用于调节相似性阈值的系数。检测到时,一些对象可能被许多矩形覆盖。0表示不执行分组。
        useMeanshiftGrouping - 指示分组算法
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold,
                                     Size winStride,
                                     Size padding,
                                     double scale,
                                     double groupThreshold)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
        scale - 检测窗口增大的系数。
        groupThreshold - 用于调节相似性阈值的系数。检测到时,一些对象可能被许多矩形覆盖。0表示不执行分组。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold,
                                     Size winStride,
                                     Size padding,
                                     double scale)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充
        scale - 检测窗口增大的系数。被许多矩形覆盖。0表示不执行分组。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold,
                                     Size winStride,
                                     Size padding)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。
        padding - 填充。被许多矩形覆盖。0表示不执行分组。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold,
                                     Size winStride)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。
        winStride - 窗口步长。它必须是块步长的倍数。被许多矩形覆盖。0表示不执行分组。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights,
                                     double hitThreshold)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。
        hitThreshold - 特征与SVM分类平面之间距离的阈值。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。被许多矩形覆盖。0表示不执行分组。
      • 多尺度检测

        public void detectMultiScale​(Mat img,
                                     MatOfRect foundLocations,
                                     MatOfDouble foundWeights)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        img - 类型为CV_8U或CV_8UC3的矩阵,包含其中检测到对象的图像。
        foundLocations - 矩形向量,其中每个矩形包含检测到的对象。
        foundWeights - 将包含每个检测到的对象的置信度值的向量。通常为0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略自由系数(允许),则可以在这里手动指定。被许多矩形覆盖。0表示不执行分组。
      • 计算梯度

        public void computeGradient​(Mat img,
                                    Mat grad,
                                    Mat angleOfs,
                                    Size paddingTL,
                                    Size paddingBR)
        计算梯度和量化的梯度方向。
        参数
        img - 包含要计算的图像的矩阵
        grad - 类型为CV_32FC2的矩阵,包含计算出的梯度
        angleOfs - 类型为CV_8UC2的矩阵,包含量化的梯度方向
        paddingTL - 左上角填充
        paddingBR - 右下角填充
      • 计算梯度

        public void computeGradient​(Mat img,
                                    Mat grad,
                                    Mat angleOfs,
                                    Size paddingTL)
        计算梯度和量化的梯度方向。
        参数
        img - 包含要计算的图像的矩阵
        grad - 类型为CV_32FC2的矩阵,包含计算出的梯度
        angleOfs - 类型为CV_8UC2的矩阵,包含量化的梯度方向
        paddingTL - 左上角填充
      • 计算梯度

        public void computeGradient​(Mat img,
                                    Mat grad,
                                    Mat angleOfs)
        计算梯度和量化的梯度方向。
        参数
        img - 包含要计算的图像的矩阵
        grad - 类型为CV_32FC2的矩阵,包含计算出的梯度
        angleOfs - 类型为CV_8UC2的矩阵,包含量化的梯度方向
      • getDefaultPeopleDetector

        public static MatOfFloat getDefaultPeopleDetector()
        返回训练用于行人检测的分类器的系数(用于 64x128 的窗口)。
        返回
        自动生成
      • getDaimlerPeopleDetector

        public static MatOfFloat getDaimlerPeopleDetector()
        返回训练用于行人检测的分类器的系数(用于 48x96 的窗口)。
        返回
        自动生成
      • get_winSize

        public Size get_winSize()
      • get_blockSize

        public Size get_blockSize()
      • get_blockStride

        public Size get_blockStride()
      • get_cellSize

        public Size get_cellSize()
      • get_nbins

        public int get_nbins()
      • get_derivAperture

        public int get_derivAperture()
      • get_winSigma

        public double get_winSigma()
      • get_histogramNormType

        public int get_histogramNormType()
      • get_L2HysThreshold

        public double get_L2HysThreshold()
      • get_gammaCorrection

        public boolean get_gammaCorrection()
      • get_svmDetector

        public MatOfFloat get_svmDetector()
      • get_nlevels

        public int get_nlevels()
      • get_signedGradient

        public boolean get_signedGradient()
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        覆盖
        finalize 在类 java.lang.Object
        抛出
        java.lang.Throwable