OpenCV  4.10.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 中找到针对 Nvidea 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 训练应用程序训练)和 NVIDIA 的 nvbin,用于 HAAR,并且仅支持新类型的 OpenCV XML 级联,用于 LBP。可以在 opencv_folder/data/haarcascades_cuda/ 中找到有效的 haar 模型。

◆ detectMultiScale()

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

在输入图像中检测不同大小的目标。

参数
image类型为 CV_8U 的矩阵,包含应在其中检测目标的图像。
objects缓冲区,用于存储检测到的目标(矩形)。
streamCUDA 流。

要获取检测到的目标的最终数组,请使用 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:812
二维矩形的模板类。
定义 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
定义 cvstd_wrapper.hpp:23
void imshow(const String &winname, InputArray mat)
在指定的窗口中显示图像。
CV_EXPORTS_W Mat imread(const String &filename, int flags=IMREAD_COLOR)
从文件中加载图像。
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
绘制一个简单的、粗的或填充的向上直立的矩形。
磁盘上文件关联的文件存储的“黑盒”表示。
定义 core.hpp:102
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)
纯虚函数

指定每个图像比例尺图像大小缩减多少的参数。


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