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

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