类 CascadeClassifier


  • public class CascadeClassifier
    extends java.lang.Object
    用于对象检测的 Cascade 分类器类。
    • 字段详细信息

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

        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)
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类 java.lang.Object
        抛出
        java.lang.Throwable