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)
純虛擬函式

視窗步長。它必須是塊步長的倍數。


此類的文件是從以下檔案生成的: