pub struct CellDetectConfig {
pub cell_size: usize,
pub threshold_cascade: Vec<f32>,
pub target_per_cell: usize,
pub arc_length: usize,
pub border: usize,
}Expand description
Configuration for the cell-based adaptive-threshold FAST detector.
Mirrors the cell loop both ORB-SLAM3 and Basalt run around cv::FAST.
Setting target_per_cell = 1 and a long threshold cascade reproduces
Basalt’s detectKeypoints; setting target_per_cell = usize::MAX and a
two-step cascade reproduces ORB-SLAM3’s ini/min-threshold pattern.
Fields§
§cell_size: usizeSide length of each square cell in pixels.
threshold_cascade: Vec<f32>Ordered thresholds (u8-scale, expressed as f32 in [0, 255]) to
try per cell. For each cell, the detector tries the first threshold;
if fewer than target_per_cell corners emerge it falls through to
the next, and so on. Must be non-empty.
target_per_cell: usizeMaximum corners kept per cell. The top-target_per_cell by response
are retained. usize::MAX disables per-cell clamping (keep all).
arc_length: usizeMinimum arc length for the FAST segment test (9 or 12).
border: usizePixel border skipped at image edges (≥3, the Bresenham radius).
Trait Implementations§
Source§impl Clone for CellDetectConfig
impl Clone for CellDetectConfig
Source§fn clone(&self) -> CellDetectConfig
fn clone(&self) -> CellDetectConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CellDetectConfig
impl Debug for CellDetectConfig
Auto Trait Implementations§
impl Freeze for CellDetectConfig
impl RefUnwindSafe for CellDetectConfig
impl Send for CellDetectConfig
impl Sync for CellDetectConfig
impl Unpin for CellDetectConfig
impl UnsafeUnpin for CellDetectConfig
impl UnwindSafe for CellDetectConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.