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

该类实现了定向梯度直方图([65])对象检测器。 更多...

#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
 如果 算法 为空(例如,在最开始或读取失败后),则返回 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
 

详细描述

该类实现了定向梯度直方图([65])对象检测器。

注意
  • 在 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 ( InputArray img,
OutputArray descriptors,
Stream & stream = Stream::Null() )
纯虚函数

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

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

◆ create()

static Ptr< HOG > cv::cuda::HOG::create ( 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 )
static

创建 HOG 描述符和检测器。

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

◆ detect() [1/2]

void cv::cuda::HOG::detect ( InputArray img,
std::vector< Point > & found_locations,
std::vector< double > & confidences )
inline

◆ detect() [2/2]

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

执行无多尺度窗口的对象检测。

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

◆ detectMultiScale() [1/2]

void cv::cuda::HOG::detectMultiScale ( InputArray img,
std::vector< Rect > & found_locations,
std::vector< double > & confidences )
inline

◆ detectMultiScale() [2/2]

virtual void cv::cuda::HOG::detectMultiScale ( InputArray img,
std::vector< Rect > & found_locations,
std::vector< double > * confidences = NULL )
纯虚函数

执行带多尺度窗口的对象检测。

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

◆ detectMultiScaleWithoutConf()

void cv::cuda::HOG::detectMultiScaleWithoutConf ( InputArray img,
std::vector< Rect > & found_locations )
inline

执行带多尺度窗口的对象检测。

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

◆ detectWithoutConf()

void cv::cuda::HOG::detectWithoutConf ( InputArray img,
std::vector< Point > & found_locations )
inline

执行无多尺度窗口的对象检测。

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

◆ getBlockHistogramSize()

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

返回块直方图大小。

◆ getDefaultPeopleDetector()

virtual Mat cv::cuda::HOG::getDefaultPeopleDetector ( ) const
纯虚函数

返回用于人物检测的分类器系数。

◆ getDescriptorFormat()

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

◆ getDescriptorSize()

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

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

◆ getGammaCorrection()

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

◆ getGroupThreshold()

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

◆ getHitThreshold()

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

◆ getL2HysThreshold()

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

◆ getNumLevels()

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

◆ getScaleFactor()

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

◆ getWinSigma()

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

◆ getWinStride()

virtual Size cv::cuda::HOG::getWinStride ( ) const
纯虚函数

◆ 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 ( InputArray detector)
纯虚函数

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

◆ setWinSigma()

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

高斯平滑窗口参数。

◆ setWinStride()

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

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


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