OpenCV  4.10.0
开源计算机视觉库
正在加载...
正在搜索...
未找到匹配项
公有成员函数 | 静态公有成员函数 | 所有成员列表
cv::cuda::HOG 类参考抽象类

该类实现了方向梯度直方图 ([63]) 目标检测器。 更多...

#include <opencv2/cudaobjdetect.hpp>

cv::cuda::HOG 的协作图

公有成员函数

virtual void compute (InputArray img, OutputArray descriptors, Stream &stream=Stream::Null())=0
 返回为整个图像计算的块描述符。
 
void detect (InputArray img, std::vector< Point > &found_locations, std::vector< double > &confidences)
 
virtual void detect (InputArray img, std::vector< Point > &found_locations, std::vector< double > *confidences=NULL)=0
 执行目标检测,不使用多尺度窗口。
 
void detectMultiScale (InputArray img, std::vector< Rect > &found_locations, std::vector< double > &confidences)
 
virtual void detectMultiScale (InputArray img, std::vector< Rect > &found_locations, std::vector< double > *confidences=NULL)=0
 使用多尺度窗口执行目标检测。
 
void detectMultiScaleWithoutConf (InputArray img, std::vector< Rect > &found_locations)
 使用多尺度窗口执行目标检测。
 
void detectWithoutConf (InputArray img, std::vector< Point > &found_locations)
 执行目标检测,不使用多尺度窗口。
 
virtual size_t getBlockHistogramSize () const =0
 返回块直方图大小。
 
virtual Mat getDefaultPeopleDetector () const =0
 返回用于行人检测的训练分类器的系数。
 
virtual HOGDescriptor::DescriptorStorageFormat getDescriptorFormat () const =0
 
virtual size_t getDescriptorSize () const =0
 返回分类所需的系数数量。
 
virtual bool getGammaCorrection () const =0
 
virtual int getGroupThreshold () const =0
 
virtual double getHitThreshold () const =0
 
virtual double getL2HysThreshold () const =0
 
virtual int getNumLevels () const =0
 
virtual double getScaleFactor () const =0
 
virtual double getWinSigma () const =0
 
virtual Size getWinStride () const =0
 
virtual void setDescriptorFormat (HOGDescriptor::DescriptorStorageFormat descr_format)=0
 
virtual void setGammaCorrection (bool gamma_correction)=0
 指定是否需要伽马校正预处理的标志。
 
virtual void setGroupThreshold (int group_threshold)=0
 
virtual void setHitThreshold (double hit_threshold)=0
 
virtual void setL2HysThreshold (double threshold_L2hys)=0
 L2-Hys 归一化方法的收缩率。
 
virtual void setNumLevels (int nlevels)=0
 检测窗口增加的最大数量。
 
virtual void setScaleFactor (double scale0)=0
 检测窗口增加的系数。
 
virtual void setSVMDetector (InputArray detector)=0
 设置线性 SVM 分类器的系数。
 
virtual void setWinSigma (double win_sigma)=0
 高斯平滑窗口参数。
 
virtual void setWinStride (Size win_stride)=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< HOGcreate (Size win_size=Size(64, 128), Size block_size=Size(16, 16), Size block_stride=Size(8, 8), Size cell_size=Size(8, 8), int nbins=9)
 创建 HOG 描述符和检测器。
 
- 从 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
 

详细说明

该类实现了方向梯度直方图 ([63]) 目标检测器。

注意
  • 可以在 opencv_source_code/samples/cpp/peopledetect.cpp 中找到将 HOG 描述符应用于行人检测的示例
  • 可以在 opencv_source_code/samples/gpu/hog.cpp 中找到将 HOG 描述符应用于行人检测的 CUDA 示例
  • (Python)可以在 opencv_source_code/samples/python/peopledetect.py 中找到将 HOG 描述符应用于行人检测的示例

成员函数文档

◆ compute()

virtual void cv::cuda::HOG::compute ( 输入数组  img,
输出数组  描述符,
stream = Stream::Null() 
)
纯虚函数

返回为整个图像计算的块描述符。

参数
img源图像。类型限制请参见 cuda::HOGDescriptor::detect。
描述符描述符的二维数组。
CUDA 流。

◆ create()

static Ptr< HOG > cv::cuda::HOG::create ( 尺寸  win_size = 尺寸(64, 128),
尺寸  block_size = 尺寸(16, 16),
尺寸  block_stride = 尺寸(8, 8),
尺寸  cell_size = 尺寸(8, 8),
int  nbins = 9 
)
静态

创建 HOG 描述符和检测器。

参数
win_size检测窗口大小。与块大小和块步长对齐。
block_size块大小(以像素为单位)。与单元格大小对齐。目前仅支持 (16,16)。
block_stride块步长。它必须是单元格大小的倍数。
cell_size单元格大小。目前仅支持 (8, 8)。
nbins箱数。目前每个单元格仅支持 9 个箱。

◆ detect() [1/2]

void cv::cuda::HOG::detect ( 输入数组  img,
std::vector< > &  found_locations,
std::vector< double > &  confidences 
)
内联

◆ detect() [2/2]

virtual void cv::cuda::HOG::detect ( 输入数组  img,
std::vector< > &  found_locations,
std::vector< double > *  confidences = NULL 
)
纯虚函数

执行目标检测,不使用多尺度窗口。

参数
img源图像。目前支持 CV_8UC1 和 CV_8UC4 类型。
found_locations检测到的对象边界左上角的点。
confidences置信度的可选输出数组。

◆ detectMultiScale() [1/2]

void cv::cuda::HOG::detectMultiScale ( 输入数组  img,
std::vector< 矩形 > &  found_locations,
std::vector< double > &  confidences 
)
内联

◆ detectMultiScale() [2/2]

virtual void cv::cuda::HOG::detectMultiScale ( 输入数组  img,
std::vector< 矩形 > &  found_locations,
std::vector< double > *  confidences = NULL 
)
纯虚函数

使用多尺度窗口执行目标检测。

参数
img源图像。类型限制请参见 cuda::HOGDescriptor::detect。
found_locations检测到的对象边界。
confidences置信度的可选输出数组。

◆ detectMultiScaleWithoutConf()

void cv::cuda::HOG::detectMultiScaleWithoutConf ( 输入数组  img,
std::vector< 矩形 > &  found_locations 
)
内联

使用多尺度窗口执行目标检测。

参数
img源图像。类型限制请参见 cuda::HOGDescriptor::detect。
found_locations检测到的对象边界。

◆ detectWithoutConf()

void cv::cuda::HOG::detectWithoutConf ( 输入数组  img,
std::vector< > &  found_locations 
)
内联

执行目标检测,不使用多尺度窗口。

参数
img源图像。目前支持 CV_8UC1 和 CV_8UC4 类型。
found_locations检测到的对象边界左上角的点。

◆ getBlockHistogramSize()

virtual size_t cv::cuda::HOG::getBlockHistogramSize ( ) 常量
纯虚函数

返回块直方图大小。

◆ getDefaultPeopleDetector()

virtual 矩阵 cv::cuda::HOG::getDefaultPeopleDetector ( ) 常量
纯虚函数

返回用于行人检测的训练分类器的系数。

◆ getDescriptorFormat()

virtual HOGDescriptor::DescriptorStorageFormat cv::cuda::HOG::getDescriptorFormat ( ) 常量
纯虚函数

◆ getDescriptorSize()

virtual size_t cv::cuda::HOG::getDescriptorSize ( ) 常量
纯虚函数

返回分类所需的系数数量。

◆ getGammaCorrection()

virtual bool cv::cuda::HOG::getGammaCorrection ( ) 常量
纯虚函数

◆ getGroupThreshold()

virtual int cv::cuda::HOG::getGroupThreshold ( ) 常量
纯虚函数

◆ getHitThreshold()

virtual double cv::cuda::HOG::getHitThreshold ( ) 常量
纯虚函数

◆ getL2HysThreshold()

virtual double cv::cuda::HOG::getL2HysThreshold ( ) 常量
纯虚函数

◆ getNumLevels()

virtual int cv::cuda::HOG::getNumLevels ( ) 常量
纯虚函数

◆ getScaleFactor()

virtual double cv::cuda::HOG::getScaleFactor ( ) 常量
纯虚函数

◆ getWinSigma()

virtual double cv::cuda::HOG::getWinSigma ( ) 常量
纯虚函数

◆ getWinStride()

virtual 尺寸 cv::cuda::HOG::getWinStride ( ) 常量
纯虚函数

◆ setDescriptorFormat()

virtual void cv::cuda::HOG::setDescriptorFormat ( HOGDescriptor::DescriptorStorageFormat  descr_format)
纯虚函数

描述符存储格式

  • DESCR_FORMAT_ROW_BY_ROW - 行优先顺序。
  • DESCR_FORMAT_COL_BY_COL - 列优先顺序。

◆ setGammaCorrection()

virtual void cv::cuda::HOG::setGammaCorrection ( bool  gamma_correction)
纯虚函数

指定是否需要伽马校正预处理的标志。

◆ setGroupThreshold()

virtual void cv::cuda::HOG::setGroupThreshold ( int  group_threshold)
纯虚函数

用于调节相似性阈值的系数。检测到时,某些对象可能被多个矩形覆盖。0 表示不执行分组。请参阅 groupRectangles。

◆ setHitThreshold()

virtual void cv::cuda::HOG::setHitThreshold ( double  hit_threshold)
纯虚函数

特征与 SVM 分类平面之间距离的阈值。通常为 0,应在检测器系数中指定(作为最后一个自由系数)。但如果省略了自由系数(这是允许的),则可以在此处手动指定。

◆ setL2HysThreshold()

virtual void cv::cuda::HOG::setL2HysThreshold ( double  threshold_L2hys)
纯虚函数

L2-Hys 归一化方法的收缩率。

◆ setNumLevels()

virtual void cv::cuda::HOG::setNumLevels ( int  nlevels)
纯虚函数

检测窗口增加的最大数量。

◆ setScaleFactor()

virtual void cv::cuda::HOG::setScaleFactor ( double  scale0)
纯虚函数

检测窗口增加的系数。

◆ setSVMDetector()

virtual void cv::cuda::HOG::setSVMDetector ( 输入数组  detector)
纯虚函数

设置线性 SVM 分类器的系数。

◆ setWinSigma()

virtual void cv::cuda::HOG::setWinSigma ( double  win_sigma)
纯虚函数

高斯平滑窗口参数。

◆ setWinStride()

virtual void cv::cuda::HOG::setWinStride ( 尺寸  win_stride)
纯虚函数

窗口步长。它必须是块步长的倍数。


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