Struct BoundingBox
pub struct BoundingBox { /* private fields */ }
Expand description
Struct for storing the bounding box point of an image.
Implementations§
§impl BoundingBox
impl BoundingBox
pub fn new(x1: f64, y1: f64, x2: f64, y2: f64) -> BoundingBox
pub fn from_xywh_coordinates(
center_x: f64,
center_y: f64,
width: f64,
height: f64,
) -> BoundingBox
pub fn from_xywh_coordinates( center_x: f64, center_y: f64, width: f64, height: f64, ) -> BoundingBox
Construct the BoundingBox
struct from center_x
, center_y
, width
, and height
values.
pub fn from_megadetector_coordinates(
min_x: f64,
min_y: f64,
width: f64,
height: f64,
) -> BoundingBox
pub fn from_megadetector_coordinates( min_x: f64, min_y: f64, width: f64, height: f64, ) -> BoundingBox
Constructs the BoundingBox
struct from given min_x
, min_y
, width
and height
values.
pub fn from_xyxy_tensor(
tensor: ArrayBase<ViewRepr<&f32>, Dim<[usize; 1]>>,
) -> Result<BoundingBox, Error>
pub fn from_xyxy_tensor( tensor: ArrayBase<ViewRepr<&f32>, Dim<[usize; 1]>>, ) -> Result<BoundingBox, Error>
Tries to convert an ArrayView1
in format of (x1, y1, x2, y2)
to the bounding box struct.
pub fn from_xywh_tensor(
tensor: ArrayBase<ViewRepr<&f32>, Dim<[usize; 1]>>,
) -> Result<BoundingBox, Error>
pub fn from_xywh_tensor( tensor: ArrayBase<ViewRepr<&f32>, Dim<[usize; 1]>>, ) -> Result<BoundingBox, Error>
Tries to convert a ArrayView1
in format of (center_y, center_y, width, height)
to the bounding box struct.
pub fn area(&self) -> f64
pub fn as_xyxy_bounding_box(&self) -> (f64, f64, f64, f64)
pub fn as_xyxy_bounding_box(&self) -> (f64, f64, f64, f64)
Returns the values of the coordinates in a form of (x1, y1, x2, y2)
tuple format.
pub fn as_xywh_bounding_box(&self) -> (f64, f64, f64, f64)
pub fn as_xywh_bounding_box(&self) -> (f64, f64, f64, f64)
Returns the values of the coordinates in a form of (center_x, center_y, width, height)
tuple format.
pub fn as_megadetector_bounding_box(&self) -> (f64, f64, f64, f64)
pub fn as_megadetector_bounding_box(&self) -> (f64, f64, f64, f64)
Returns the values of the coordinates in a form on (x1, y1, width, height)
tuple
format.
pub fn normalize(self, width: u32, height: u32) -> BoundingBox
pub fn normalize(self, width: u32, height: u32) -> BoundingBox
Normalize the BoundingBox
to be under 0..1
by the given width
and height
.
pub fn scale(
self,
resized_width: u32,
resized_height: u32,
width: u32,
height: u32,
) -> BoundingBox
pub fn scale( self, resized_width: u32, resized_height: u32, width: u32, height: u32, ) -> BoundingBox
Rescales BoundingBox
to the given width
and height
.
Function is copied from yolov5 scale_boxes function.
pub fn x1(&self) -> f64
pub fn y1(&self) -> f64
pub fn x2(&self) -> f64
pub fn y2(&self) -> f64
Trait Implementations§
§impl Clone for BoundingBox
impl Clone for BoundingBox
§fn clone(&self) -> BoundingBox
fn clone(&self) -> BoundingBox
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for BoundingBox
impl Debug for BoundingBox
§impl<'de> Deserialize<'de> for BoundingBox
impl<'de> Deserialize<'de> for BoundingBox
§fn deserialize<D>(
deserializer: D,
) -> Result<BoundingBox, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<BoundingBox, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for BoundingBox
impl Display for BoundingBox
§impl PartialEq for BoundingBox
impl PartialEq for BoundingBox
§impl Serialize for BoundingBox
impl Serialize for BoundingBox
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Copy for BoundingBox
impl StructuralPartialEq for BoundingBox
Auto Trait Implementations§
impl Freeze for BoundingBox
impl RefUnwindSafe for BoundingBox
impl Send for BoundingBox
impl Sync for BoundingBox
impl Unpin for BoundingBox
impl UnwindSafe for BoundingBox
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more