OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::cuda::CascadeClassifier 类参考抽象类

用于目标检测的级联分类器类。支持HAAR和LBP级联。 : 更多...

#include <opencv2/cudaobjdetect.hpp>

cv::cuda::CascadeClassifier 的协作图

公共成员函数

virtual void convert (OutputArray gpu_objects, std::vector< Rect > &objects)=0
 将对象数组从内部表示转换为标准向量。
 
virtual void detectMultiScale (InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
 在输入图像中检测不同大小的对象。
 
virtual Size getClassifierSize () const =0
 
virtual bool getFindLargestObject ()=0
 
virtual int getMaxNumObjects () const =0
 
virtual Size getMaxObjectSize () const =0
 
virtual int getMinNeighbors () const =0
 
virtual Size getMinObjectSize () const =0
 
virtual double getScaleFactor () const =0
 
virtual void setFindLargestObject (bool findLargestObject)=0
 
virtual void setMaxNumObjects (int maxNumObjects)=0
 
virtual void setMaxObjectSize (Size maxObjectSize)=0
 
virtual void setMinNeighbors (int minNeighbors)=0
 
virtual void setMinObjectSize (Size minSize)=0
 最小可能对象尺寸。小于此尺寸的对象将被忽略。
 
virtual void setScaleFactor (double scaleFactor)=0
 指定在每个图像尺度下图像尺寸缩减量的参数。
 
- 继承自 cv::Algorithm 的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如在最开始或读取不成功后),则返回true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

静态公共成员函数

static Ptr< cuda::CascadeClassifiercreate (const FileStorage &file)
 
static Ptr< cuda::CascadeClassifiercreate (const String &filename)
 从文件中加载分类器。级联类型由构造函数参数自动检测。
 
- 继承自 cv::Algorithm 的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

额外继承成员

- 继承自 cv::Algorithm 的保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

用于目标检测的级联分类器类。支持HAAR和LBP级联。

注意
  • 可以在 opencv_source_code/samples/gpu/cascadeclassifier.cpp 找到级联分类器的示例。
    • 可以在 opencv_source_code/samples/gpu/cascadeclassifier_nvidia_api.cpp 找到针对NVIDIA API的级联分类器示例。

成员函数文档

◆ convert()

virtual void cv::cuda::CascadeClassifier::convert ( OutputArray gpu_objects,
std::vector< Rect > & objects )
纯虚函数

将对象数组从内部表示转换为标准向量。

参数
gpu_objects内部表示的对象数组。
objects结果数组。

◆ create() [1/2]

static Ptr< cuda::CascadeClassifier > cv::cuda::CascadeClassifier::create ( const FileStorage & file)
static

这是一个重载成员函数,为方便起见提供。它与上述函数的区别仅在于其接受的参数。

◆ create() [2/2]

static Ptr< cuda::CascadeClassifier > cv::cuda::CascadeClassifier::create ( const String & filename)
static

从文件中加载分类器。级联类型由构造函数参数自动检测。

参数
filename加载分类器的文件名。HAAR仅支持旧的haar分类器(由haar训练应用程序训练)和NVIDIA的nvbin,LBP仅支持新类型的OpenCV XML级联。可用的haar模型可以在 opencv_folder/data/haarcascades_cuda/ 找到。

◆ detectMultiScale()

virtual void cv::cuda::CascadeClassifier::detectMultiScale ( InputArray image,
OutputArray objects,
Stream & stream = Stream::Null() )
纯虚函数

在输入图像中检测不同大小的对象。

参数
image类型为CV_8U的矩阵,包含应检测对象的图像。
objects用于存储检测到的对象(矩形)的缓冲区。
CUDA 流。

要获取检测到对象的最终数组,请使用 CascadeClassifier::convert 方法。

Mat image_cpu = imread(...)
GpuMat image_gpu(image_cpu);
GpuMat objbuf;
cascade_gpu->detectMultiScale(image_gpu, objbuf);
std::vector<Rect> faces;
cascade_gpu->convert(objbuf, faces);
for(int i = 0; i < detections_num; ++i)
cv::rectangle(image_cpu, faces[i], Scalar(255));
imshow("Faces", image_cpu);
n 维密集数组类
定义 mat.hpp:830
2D 矩形的模板类。
定义 types.hpp:444
virtual void detectMultiScale(InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
在输入图像中检测不同大小的对象。
static Ptr< cuda::CascadeClassifier > create(const String &filename)
从文件中加载分类器。级联类型由构造函数参数自动检测。
virtual void convert(OutputArray gpu_objects, std::vector< Rect > &objects)=0
将对象数组从内部表示转换为标准向量。
带引用计数的 GPU 内存的基本存储类。
定义 cuda.hpp:106
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23
void imshow(const String &winname, InputArray mat)
在指定窗口中显示图像。
CV_EXPORTS_W Mat imread(const String &filename, int flags=IMREAD_COLOR_BGR)
从文件加载图像。
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
绘制一个简单、粗或填充的矩形。
定义 core.hpp:107
STL 命名空间。
另请参见
CascadeClassifier::detectMultiScale

◆ getClassifierSize()

virtual Size cv::cuda::CascadeClassifier::getClassifierSize ( ) const
纯虚函数

◆ getFindLargestObject()

virtual bool cv::cuda::CascadeClassifier::getFindLargestObject ( )
纯虚函数

◆ getMaxNumObjects()

virtual int cv::cuda::CascadeClassifier::getMaxNumObjects ( ) const
纯虚函数

◆ getMaxObjectSize()

virtual Size cv::cuda::CascadeClassifier::getMaxObjectSize ( ) const
纯虚函数

◆ getMinNeighbors()

virtual int cv::cuda::CascadeClassifier::getMinNeighbors ( ) const
纯虚函数

◆ getMinObjectSize()

virtual Size cv::cuda::CascadeClassifier::getMinObjectSize ( ) const
纯虚函数

◆ getScaleFactor()

virtual double cv::cuda::CascadeClassifier::getScaleFactor ( ) const
纯虚函数

◆ setFindLargestObject()

virtual void cv::cuda::CascadeClassifier::setFindLargestObject ( bool findLargestObject)
纯虚函数

◆ setMaxNumObjects()

virtual void cv::cuda::CascadeClassifier::setMaxNumObjects ( int maxNumObjects)
纯虚函数

◆ setMaxObjectSize()

virtual void cv::cuda::CascadeClassifier::setMaxObjectSize ( Size maxObjectSize)
纯虚函数

最大可能对象尺寸。大于此尺寸的对象将被忽略。用于第二个签名,仅支持LBP级联。

◆ setMinNeighbors()

virtual void cv::cuda::CascadeClassifier::setMinNeighbors ( int minNeighbors)
纯虚函数

指定每个候选矩形应有多少个邻居才能保留它的参数。

◆ setMinObjectSize()

virtual void cv::cuda::CascadeClassifier::setMinObjectSize ( Size minSize)
纯虚函数

最小可能对象尺寸。小于此尺寸的对象将被忽略。

◆ setScaleFactor()

virtual void cv::cuda::CascadeClassifier::setScaleFactor ( double scaleFactor)
纯虚函数

指定在每个图像尺度下图像尺寸缩减量的参数。


此类的文档是从以下文件生成的