pub struct DetResizeForTest {
pub resize_type: ResizeType,
pub limit_side_len: Option<u32>,
pub limit_type: Option<LimitType>,
pub max_side_limit: u32,
}Expand description
A struct for resizing images for OCR testing
This struct encapsulates different resizing strategies for preparing images for OCR processing. It supports multiple resize types based on the input parameters.
Fields§
§resize_type: ResizeTypeThe type of resizing to perform
limit_side_len: Option<u32>The length to limit the side of the image to (optional)
limit_type: Option<LimitType>The type of limit to apply (min, max, or resize long) (optional)
max_side_limit: u32The maximum allowed side length
Implementations§
Source§impl DetResizeForTest
impl DetResizeForTest
Sourcepub fn new(
input_shape: Option<(u32, u32, u32)>,
image_shape: Option<(u32, u32)>,
keep_ratio: Option<bool>,
limit_side_len: Option<u32>,
limit_type: Option<LimitType>,
resize_long: Option<u32>,
max_side_limit: Option<u32>,
) -> Self
pub fn new( input_shape: Option<(u32, u32, u32)>, image_shape: Option<(u32, u32)>, keep_ratio: Option<bool>, limit_side_len: Option<u32>, limit_type: Option<LimitType>, resize_long: Option<u32>, max_side_limit: Option<u32>, ) -> Self
Creates a new DetResizeForTest instance
This constructor determines the resize type based on the provided parameters. The resize type is determined in the following order:
- If
input_shapeis provided, uses Type3 - If
image_shapeis provided, uses Type1 - If
resize_longis provided, uses Type2 - Otherwise, uses Type0 (default)
§Parameters
input_shape- Optional input shape (channels, height, width)image_shape- Optional target image shape (height, width)keep_ratio- Whether to maintain aspect ratio when resizing (used with image_shape)limit_side_len- Optional limit for side lengthlimit_type- Optional limit type (min, max, or resize long)resize_long- Optional length to resize the long side tomax_side_limit- Optional maximum side length limit
§Returns
A new DetResizeForTest instance with the determined resize type and parameters
Sourcepub fn apply(
&self,
imgs: Vec<DynamicImage>,
limit_side_len: Option<u32>,
limit_type: Option<LimitType>,
max_side_limit: Option<u32>,
) -> (Vec<DynamicImage>, Vec<[f32; 4]>)
pub fn apply( &self, imgs: Vec<DynamicImage>, limit_side_len: Option<u32>, limit_type: Option<LimitType>, max_side_limit: Option<u32>, ) -> (Vec<DynamicImage>, Vec<[f32; 4]>)
Applies resizing to a batch of images
This method processes a vector of images, applying the configured resize operation to each one.
§Parameters
imgs- Vector of images to resizelimit_side_len- Optional override for limit side lengthlimit_type- Optional override for limit typemax_side_limit- Optional override for maximum side limit
§Returns
A tuple containing:
- Vector of resized images
- Vector of original image shapes and resize ratios [height, width, ratio_h, ratio_w]
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DetResizeForTest
impl RefUnwindSafe for DetResizeForTest
impl Send for DetResizeForTest
impl Sync for DetResizeForTest
impl Unpin for DetResizeForTest
impl UnwindSafe for DetResizeForTest
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 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.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.