pub struct ShapeDescriptors {
pub area: f64,
pub perimeter: f64,
pub circularity: f64,
pub eccentricity: f64,
pub aspect_ratio: f64,
pub extent: f64,
pub solidity: f64,
pub convexity: f64,
}Expand description
Collection of scalar shape descriptors computed from a contour.
Fields§
§area: f64Area enclosed by the contour (shoelace formula, pixels²).
perimeter: f64Perimeter (sum of Euclidean distances between consecutive contour points).
circularity: f64Circularity: 4π·area / perimeter². Perfect circle → 1.
eccentricity: f64Eccentricity of the best-fit ellipse (0 = circle, 1 = line).
aspect_ratio: f64Aspect ratio: major_axis / minor_axis of the bounding box.
extent: f64Extent: area / bounding_box_area.
solidity: f64Solidity: area / convex_hull_area.
convexity: f64Convexity: convex_hull_perimeter / perimeter.
Trait Implementations§
Source§impl Clone for ShapeDescriptors
impl Clone for ShapeDescriptors
Source§fn clone(&self) -> ShapeDescriptors
fn clone(&self) -> ShapeDescriptors
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ShapeDescriptors
impl RefUnwindSafe for ShapeDescriptors
impl Send for ShapeDescriptors
impl Sync for ShapeDescriptors
impl Unpin for ShapeDescriptors
impl UnsafeUnpin for ShapeDescriptors
impl UnwindSafe for ShapeDescriptors
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.