OpenCV 4.11.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]) 目标检测器。

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

成员函数文档

◆ compute()

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

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

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

◆ create()

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

创建 HOG 描述符和检测器。

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

◆ detect() [1/2]

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

◆ detect() [2/2]

virtual void cv::cuda::HOG::detect ( 输入数组 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 ( 输入数组 img,
std::vector< Rect > & found_locations,
std::vector< double > & confidences )
内联

◆ detectMultiScale() [2/2]

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

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

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

◆ detectMultiScaleWithoutConf()

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

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

参数
img源图像。参见 cuda::HOGDescriptor::detect 以了解类型限制。
found_locations检测到的目标边界。

◆ detectWithoutConf()

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

执行无多尺度窗口的目标检测。

参数
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 ( 输入数组 detector)
纯虚函数

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

◆ setWinSigma()

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

高斯平滑窗口参数。

◆ setWinStride()

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

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


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