类 CascadeClassifier
- java.lang.Object
-
- org.opencv.objdetect.CascadeClassifier
-
public class CascadeClassifier extends java.lang.Object
用于目标检测的级联分类器类。
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected long
nativeObj
-
构造函数摘要
构造函数 修饰符 构造函数 描述 CascadeClassifier()
protected
CascadeClassifier(long addr)
CascadeClassifier(java.lang.String filename)
从文件中加载分类器。
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static CascadeClassifier
__fromPtr__(long addr)
static boolean
convert(java.lang.String oldcascade, java.lang.String newcascade)
void
detectMultiScale(Mat image, MatOfRect objects)
检测输入图像中不同大小的目标。void
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor)
检测输入图像中不同大小的目标。void
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors)
检测输入图像中不同大小的目标。void
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flags)
检测输入图像中不同大小的目标。void
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flags, Size minSize)
检测输入图像中不同大小的目标。void
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize)
检测输入图像中不同大小的目标。void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections)
void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections, double scaleFactor)
void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections, double scaleFactor, int minNeighbors)
void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections, double scaleFactor, int minNeighbors, int flags)
void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections, double scaleFactor, int minNeighbors, int flags, Size minSize)
void
detectMultiScale2(Mat image, MatOfRect objects, MatOfInt numDetections, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize)
void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors, int flags)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors, int flags, Size minSize)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize)
此函数允许您检索分类的最终阶段决策确定性。void
detectMultiScale3(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize, boolean outputRejectLevels)
此函数允许您检索分类的最终阶段决策确定性。布尔值
空()
检查分类器是否已加载。受保护的 void
finalize()
整数
getFeatureType()
长整型
getNativeObjAddr()
Size
getOriginalWindowSize()
布尔值
isOldFormatCascade()
布尔值
load(java.lang.String filename)
从文件中加载分类器。
-
-
-
方法详情
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static CascadeClassifier __fromPtr__(long addr)
-
空
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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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,并提供rejectLevels
和levelWeights
参数。对于每个检测结果,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
-
-