OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::cuda::CascadeClassifier 类参考abstract

用于对象检测的级联分类器类。支持 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)
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 图像,
OutputArray objects,
流 (Stream) & stream = Stream::Null() )
纯虚函数

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

参数
图像类型为 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:840
用于 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
定义 cvstd_wrapper.hpp:23
void imshow(const String &winname, InputArray mat)
在指定窗口中显示图像。
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)
纯虚函数

指定每次图像尺度缩减量的参数。


该类的文档由以下文件生成: