Struct FeatureTrackerConfig::CornerDetector
Defined in File FeatureTrackerConfig.hpp
Nested Relationships
This struct is a nested type of Class FeatureTrackerConfig.
Nested Types
Struct Documentation
-
struct CornerDetector
Corner detector configuration structure.
Public Types
-
enum class Type : std::int32_t
Values:
-
enumerator HARRIS
Harris corner detector.
-
enumerator SHI_THOMASI
Shi-Thomasi corner detector.
-
enumerator HARRIS
Public Functions
-
DEPTHAI_SERIALIZE(CornerDetector, type, cellGridDimension, numTargetFeatures, numMaxFeatures, thresholds, enableSobel, enableSorting)
Public Members
-
std::int32_t cellGridDimension = 4
Ensures distributed feature detection across the image. Image is divided into horizontal and vertical cells, each cell has a target feature count = numTargetFeatures / cellGridDimension. Each cell has its own feature threshold. A value of 4 means that the image is divided into 4x4 cells of equal width/height. Maximum 4, minimum 1.
-
std::int32_t numTargetFeatures = 320
Target number of features to detect. Maximum number of features is determined at runtime based on algorithm type.
-
std::int32_t numMaxFeatures = AUTO
Hard limit for the maximum number of features that can be detected. 0 means auto, will be set to the maximum value based on memory constraints.
-
bool enableSobel = true
Enable 3x3 Sobel operator to smoothen the image whose gradient is to be computed. If disabled, a simple 1D row/column differentiator is used for gradient.
-
bool enableSorting = true
Enable sorting detected features based on their score or not.
-
Thresholds thresholds
Threshold settings. These are advanced settings, suitable for debugging/special cases.
-
struct Thresholds
Threshold settings structure for corner detector.
Public Functions
-
DEPTHAI_SERIALIZE(Thresholds, initialValue, min, max, decreaseFactor, increaseFactor)
Public Members
-
float initialValue = AUTO
Minimum strength of a feature which will be detected. 0 means automatic threshold update. Recommended so the tracker can adapt to different scenes/textures. Each cell has its own threshold. Empirical value.
-
float min = AUTO
Minimum limit for threshold. Applicable when automatic threshold update is enabled. 0 means auto, 6000000 for HARRIS, 1200 for SHI_THOMASI. Empirical value.
-
float max = AUTO
Maximum limit for threshold. Applicable when automatic threshold update is enabled. 0 means auto. Empirical value.
-
float decreaseFactor = 0.9f
When detected number of features exceeds the maximum in a cell threshold is lowered by multiplying its value with this factor.
-
float increaseFactor = 1.1f
When detected number of features doesn’t exceed the maximum in a cell, threshold is increased by multiplying its value with this factor.
-
DEPTHAI_SERIALIZE(Thresholds, initialValue, min, max, decreaseFactor, increaseFactor)
-
enum class Type : std::int32_t