类 CascadeClassifier


  • public class CascadeClassifier
    extends java.lang.Object
    用于对象检测的级联分类器类。
    • 字段详情

      • nativeObj

        protected final long nativeObj
    • 构造函数详情

      • CascadeClassifier

        protected CascadeClassifier​(long addr)
      • CascadeClassifier

        public CascadeClassifier()
      • CascadeClassifier

        public CascadeClassifier​(java.lang.String filename)
        从文件加载分类器。
        参数
        filename - 从中加载分类器的文件名。
    • 方法详情

      • getNativeObjAddr

        public long getNativeObjAddr()
      • public boolean empty()
        检查分类器是否已加载。
        返回
        自动生成
      • load

        public boolean load​(java.lang.String filename)
        从文件加载分类器。
        参数
        filename - 从中加载分类器的文件名。该文件可以包含由 haartraining 应用程序训练的旧 HAAR 分类器,或由 traincascade 应用程序训练的新级联分类器。
        返回
        自动生成
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects,
                                     double scaleFactor,
                                     int minNeighbors,
                                     int flags,
                                     Size minSize,
                                     Size maxSize)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
        minSize - 最小可能对象尺寸。小于此尺寸的对象将被忽略。
        maxSize - 最大可能对象尺寸。大于此尺寸的对象将被忽略。如果 maxSize == minSize,则模型在单个尺度上进行评估。
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects,
                                     double scaleFactor,
                                     int minNeighbors,
                                     int flags,
                                     Size minSize)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
        minSize - 最小可能对象尺寸。小于此尺寸的对象将被忽略。
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects,
                                     double scaleFactor,
                                     int minNeighbors,
                                     int flags)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects,
                                     double scaleFactor,
                                     int minNeighbors)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects,
                                     double scaleFactor)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。以保留它。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale

        public void detectMultiScale​(Mat image,
                                     MatOfRect objects)
        在输入图像中检测不同大小的对象。检测到的对象作为矩形列表返回。
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。以保留它。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags,
                                      Size minSize,
                                      Size maxSize)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
        minSize - 最小可能对象尺寸。小于此尺寸的对象将被忽略。
        maxSize - 最大可能对象尺寸。大于此尺寸的对象将被忽略。如果 maxSize == minSize,则模型在单个尺度上进行评估。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags,
                                      Size minSize)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
        minSize - 最小可能对象尺寸。小于此尺寸的对象将被忽略。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。
        flags - 对于旧级联,其含义与 cvHaarDetectObjects 函数相同。对于新级联,则不使用。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections,
                                      double scaleFactor,
                                      int minNeighbors)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。
        minNeighbors - 指定每个候选矩形应有多少个邻域才能保留它的参数。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections,
                                      double scaleFactor)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。
        scaleFactor - 指定每张图像比例尺的图像尺寸减小量的参数。以保留它。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale2

        public void detectMultiScale2​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt numDetections)
        参数
        image - 类型为 CV_8U 的矩阵,包含要检测对象的图像。
        objects - 矩形向量,其中每个矩形包含检测到的对象,这些矩形可能部分位于原始图像之外。
        numDetections - 相应对象的检测数量向量。对象的检测数量是合并以形成对象的正面分类矩形的邻域数量。以保留它。cvHaarDetectObjects。对于新级联,则不使用。
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags,
                                      Size minSize,
                                      Size maxSize,
                                      boolean outputRejectLevels)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
        minNeighbors - 自动生成
        flags - 自动生成
        minSize - 自动生成
        maxSize - 自动生成
        outputRejectLevels - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags,
                                      Size minSize,
                                      Size maxSize)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
        minNeighbors - 自动生成
        flags - 自动生成
        minSize - 自动生成
        maxSize - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags,
                                      Size minSize)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
        minNeighbors - 自动生成
        flags - 自动生成
        minSize - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor,
                                      int minNeighbors,
                                      int flags)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
        minNeighbors - 自动生成
        flags - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor,
                                      int minNeighbors)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
        minNeighbors - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights,
                                      double scaleFactor)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
        scaleFactor - 自动生成
      • detectMultiScale3

        public void detectMultiScale3​(Mat image,
                                      MatOfRect objects,
                                      MatOfInt rejectLevels,
                                      MatOfDouble levelWeights)
        此函数允许您检索分类的最终阶段决策的确定性。为此,需要将 outputRejectLevels 设置为 true,并提供 rejectLevelslevelWeights 参数。对于每个检测到的结果,levelWeights 将包含最终阶段的分类确定性。此值可用于区分强弱分类。下面可以找到一个如何高效使用它的代码示例: Mat img; vector<double> weights; vector<int> levels; vector<Rect> detections; CascadeClassifier model("/path/to/your/model.xml"); model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
        参数
        image - 自动生成
        objects - 自动生成
        rejectLevels - 自动生成
        levelWeights - 自动生成
      • isOldFormatCascade

        public boolean isOldFormatCascade()
      • getOriginalWindowSize

        public Size getOriginalWindowSize()
      • getFeatureType

        public int getFeatureType()
      • convert

        public static boolean convert​(java.lang.String oldcascade,
                                      java.lang.String newcascade)