[−][src]Trait opencv::prelude::HOG
The class implements Histogram of Oriented Gradients (Dalal2005) object detector.
Note:
- An example applying the HOG descriptor for people detection can be found at opencv_source_code/samples/cpp/peopledetect.cpp
- A CUDA example applying the HOG descriptor for people detection can be found at opencv_source_code/samples/gpu/hog.cpp
- (Python) An example applying the HOG descriptor for people detection can be found at opencv_source_code/samples/python/peopledetect.py
Required methods
fn as_raw_HOG(&self) -> *const c_void
fn as_raw_mut_HOG(&mut self) -> *mut c_void
Provided methods
fn set_win_sigma(&mut self, win_sigma: f64) -> Result<()>
Gaussian smoothing window parameter.
fn get_win_sigma(&self) -> Result<f64>
fn set_l2_hys_threshold(&mut self, threshold_l2hys: f64) -> Result<()>
L2-Hys normalization method shrinkage.
fn get_l2_hys_threshold(&self) -> Result<f64>
fn set_gamma_correction(&mut self, gamma_correction: bool) -> Result<()>
Flag to specify whether the gamma correction preprocessing is required or not.
fn get_gamma_correction(&self) -> Result<bool>
fn set_num_levels(&mut self, nlevels: i32) -> Result<()>
Maximum number of detection window increases.
fn get_num_levels(&self) -> Result<i32>
fn set_hit_threshold(&mut self, hit_threshold: f64) -> Result<()>
Threshold for the distance between features and SVM classifying plane. Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient). But if the free coefficient is omitted (which is allowed), you can specify it manually here.
fn get_hit_threshold(&self) -> Result<f64>
fn set_win_stride(&mut self, win_stride: Size) -> Result<()>
Window stride. It must be a multiple of block stride.
fn get_win_stride(&self) -> Result<Size>
fn set_scale_factor(&mut self, scale0: f64) -> Result<()>
Coefficient of the detection window increase.
fn get_scale_factor(&self) -> Result<f64>
fn set_group_threshold(&mut self, group_threshold: i32) -> Result<()>
Coefficient to regulate the similarity threshold. When detected, some objects can be covered by many rectangles. 0 means not to perform grouping. See groupRectangles.
fn get_group_threshold(&self) -> Result<i32>
fn set_descriptor_format(
&mut self,
descr_format: HOGDescriptor_DescriptorStorageFormat
) -> Result<()>
&mut self,
descr_format: HOGDescriptor_DescriptorStorageFormat
) -> Result<()>
Descriptor storage format:
- DESCR_FORMAT_ROW_BY_ROW - Row-major order.
- DESCR_FORMAT_COL_BY_COL - Column-major order.
fn get_descriptor_format(&self) -> Result<HOGDescriptor_DescriptorStorageFormat>
fn get_descriptor_size(&self) -> Result<size_t>
Returns the number of coefficients required for the classification.
fn get_block_histogram_size(&self) -> Result<size_t>
Returns the block histogram size.
fn set_svm_detector(&mut self, detector: &dyn ToInputArray) -> Result<()>
Sets coefficients for the linear SVM classifier.
fn get_default_people_detector(&self) -> Result<Mat>
Returns coefficients of the classifier trained for people detection.
fn detect(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>,
confidences: &mut Vector<f64>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>,
confidences: &mut Vector<f64>
) -> Result<()>
Performs object detection without a multi-scale window.
Parameters
- img: Source image. CV_8UC1 and CV_8UC4 types are supported for now.
- found_locations: Left-top corner points of detected objects boundaries.
- confidences: Optional output array for confidences.
C++ default parameters
- confidences: NULL
fn detect_1(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>,
confidences: &mut Vector<f64>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>,
confidences: &mut Vector<f64>
) -> Result<()>
fn detect_without_conf(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Point>
) -> Result<()>
Performs object detection without a multi-scale window.
Parameters
- img: Source image. CV_8UC1 and CV_8UC4 types are supported for now.
- found_locations: Left-top corner points of detected objects boundaries.
fn detect_multi_scale(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>,
confidences: &mut Vector<f64>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>,
confidences: &mut Vector<f64>
) -> Result<()>
Performs object detection with a multi-scale window.
Parameters
- img: Source image. See cuda::HOGDescriptor::detect for type limitations.
- found_locations: Detected objects boundaries.
- confidences: Optional output array for confidences.
C++ default parameters
- confidences: NULL
fn detect_multi_scale_1(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>,
confidences: &mut Vector<f64>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>,
confidences: &mut Vector<f64>
) -> Result<()>
fn detect_multi_scale_without_conf(
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
found_locations: &mut Vector<Rect>
) -> Result<()>
Performs object detection with a multi-scale window.
Parameters
- img: Source image. See cuda::HOGDescriptor::detect for type limitations.
- found_locations: Detected objects boundaries.
fn compute(
&mut self,
img: &dyn ToInputArray,
descriptors: &mut dyn ToOutputArray,
stream: &mut Stream
) -> Result<()>
&mut self,
img: &dyn ToInputArray,
descriptors: &mut dyn ToOutputArray,
stream: &mut Stream
) -> Result<()>
Returns block descriptors computed for the whole image.
Parameters
- img: Source image. See cuda::HOGDescriptor::detect for type limitations.
- descriptors: 2D array of descriptors.
- stream: CUDA stream.
C++ default parameters
- stream: Stream::Null()
Implementations
impl<'_> dyn HOG + '_[src]
pub fn create(
win_size: Size,
block_size: Size,
block_stride: Size,
cell_size: Size,
nbins: i32
) -> Result<Ptr<dyn HOG>>[src]
win_size: Size,
block_size: Size,
block_stride: Size,
cell_size: Size,
nbins: i32
) -> Result<Ptr<dyn HOG>>
Creates the HOG descriptor and detector.
Parameters
- win_size: Detection window size. Align to block size and block stride.
- block_size: Block size in pixels. Align to cell size. Only (16,16) is supported for now.
- block_stride: Block stride. It must be a multiple of cell size.
- cell_size: Cell size. Only (8, 8) is supported for now.
- nbins: Number of bins. Only 9 bins per cell are supported for now.
C++ default parameters
- win_size: Size(64,128)
- block_size: Size(16,16)
- block_stride: Size(8,8)
- cell_size: Size(8,8)
- nbins: 9