类 HOGDescriptor


  • public class HOGDescriptor
    extends java.lang.Object
    HOG (Histogram of Oriented Gradients) 描述符和对象检测器的实现。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 分类器的系数。
      • load

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

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

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

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

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

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

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

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

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

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

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

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

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

        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 - 指示分组算法
      • detectMultiScale

        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 表示不执行分组。
      • detectMultiScale

        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 表示不执行分组。
      • detectMultiScale

        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 表示不执行分组。
      • detectMultiScale

        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 表示不执行分组。
      • detectMultiScale

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

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

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

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

        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()