#[non_exhaustive]pub struct ChessConfig {
pub ring: ChessRing,
pub descriptor_ring: DescriptorRing,
pub nms_radius: u32,
pub min_cluster_size: u32,
pub refiner: ChessRefiner,
}Expand description
Configuration for the ChESS detector branch of DetectionStrategy.
Carries the detector ring choice, descriptor ring choice, NMS /
clustering thresholds (in input-image pixels), and the subpixel
refiner. Multiscale and upscale live at the top level of
DetectorConfig and apply to both strategies.
§Common knobs
ring— choose the detector kernel radius.descriptor_ring— choose the descriptor sampling radius.refiner— select and configure the subpixel refinement backend.
§Advanced tuning
nms_radius and
min_cluster_size control NMS and
peak filtering. The defaults work well across a wide range of image
scales. Reduce nms_radius when corners are packed tightly; increase
min_cluster_size to suppress isolated noise peaks.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ring: ChessRingDetector ring radius. Canonical selects the paper’s r=5,
Broad selects r=10.
descriptor_ring: DescriptorRingDescriptor sampling ring. Independent of the detector ring;
FollowDetector mirrors the detector’s choice.
nms_radius: u32Advanced tuning. Non-maximum-suppression half-radius in
input-image pixels. Only the highest-response pixel within this
radius is kept. Default is 2 (5×5 suppression window).
Reduce when corners are closer together than 2·nms_radius
pixels; increase to suppress near-duplicate detections on
blurry images.
min_cluster_size: u32Advanced tuning. Minimum number of positive-response neighbours
within the NMS window that a candidate must have to be accepted.
Default is 2. Increase to require a stronger local cluster of
response, suppressing isolated noise peaks at the cost of
potentially missing weak corners near image boundaries.
refiner: ChessRefinerSubpixel refiner. Each variant carries its tuning struct.
Trait Implementations§
Source§impl Clone for ChessConfig
impl Clone for ChessConfig
Source§fn clone(&self) -> ChessConfig
fn clone(&self) -> ChessConfig
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 ChessConfig
impl Debug for ChessConfig
Source§impl Default for ChessConfig
impl Default for ChessConfig
Source§impl<'de> Deserialize<'de> for ChessConfigwhere
ChessConfig: Default,
impl<'de> Deserialize<'de> for ChessConfigwhere
ChessConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ChessConfig
impl PartialEq for ChessConfig
Source§fn eq(&self, other: &ChessConfig) -> bool
fn eq(&self, other: &ChessConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ChessConfig
impl Serialize for ChessConfig
impl Copy for ChessConfig
impl StructuralPartialEq for ChessConfig
Auto Trait Implementations§
impl Freeze for ChessConfig
impl RefUnwindSafe for ChessConfig
impl Send for ChessConfig
impl Sync for ChessConfig
impl Unpin for ChessConfig
impl UnsafeUnpin for ChessConfig
impl UnwindSafe for ChessConfig
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<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().