OpenCV 4.11.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 中找到。
    • Nvidea API 特定的级联分类器示例可以在 opencv_source_code/samples/gpu/cascadeclassifier_nvidia_api.cpp 中找到。

成员函数文档

◆ 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)
静态

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

◆ create() [2/2]

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

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

参数
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存储检测到的对象(矩形)的缓冲区。
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:829
二维矩形的模板类。
定义 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_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)
纯虚函数

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


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