pub struct Crop { /* private fields */ }Expand description
A processor for cropping images with different positioning modes.
The Crop struct provides functionality to crop images to a specified size
using different positioning strategies (center, top-left, etc.).
Implementations§
Source§impl Crop
impl Crop
Sourcepub fn new(
crop_size: [u32; 2],
crop_mode: CropMode,
) -> Result<Self, ImageProcessError>
pub fn new( crop_size: [u32; 2], crop_mode: CropMode, ) -> Result<Self, ImageProcessError>
Creates a new Crop instance with the specified parameters.
§Arguments
crop_size- Array containing [width, height] for the crop operation.crop_mode- The positioning mode for the crop operation.
§Returns
Ok(Crop)- A new Crop instance.Err(ImageProcessError::InvalidCropSize)- If either dimension is zero.
§Examples
use oar_ocr::utils::crop::Crop;
use oar_ocr::processors::types::CropMode;
let crop = Crop::new([224, 224], CropMode::Center).unwrap();Sourcepub fn process(&self, img: &RgbImage) -> Result<RgbImage, ImageProcessError>
pub fn process(&self, img: &RgbImage) -> Result<RgbImage, ImageProcessError>
Processes an image by cropping it according to the configured parameters.
§Arguments
img- Reference to the input image to be cropped.
§Returns
Ok(RgbImage)- The cropped image.Err(ImageProcessError)- If the crop operation fails.
§Examples
use image::RgbImage;
use oar_ocr::utils::crop::Crop;
use oar_ocr::processors::types::CropMode;
let crop = Crop::new([100, 100], CropMode::Center).unwrap();
let img = RgbImage::new(200, 200);
let cropped = crop.process(&img).unwrap();
assert_eq!(cropped.dimensions(), (100, 100));Sourcepub fn process_batch(
&self,
images: &[RgbImage],
) -> Result<Vec<RgbImage>, ImageProcessError>
pub fn process_batch( &self, images: &[RgbImage], ) -> Result<Vec<RgbImage>, ImageProcessError>
Sourcepub fn set_crop_size(
&mut self,
crop_size: [u32; 2],
) -> Result<(), ImageProcessError>
pub fn set_crop_size( &mut self, crop_size: [u32; 2], ) -> Result<(), ImageProcessError>
Sourcepub fn set_crop_mode(&mut self, crop_mode: CropMode)
pub fn set_crop_mode(&mut self, crop_mode: CropMode)
Sourcepub fn aspect_ratio(&self) -> f32
pub fn aspect_ratio(&self) -> f32
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Crop
impl RefUnwindSafe for Crop
impl Send for Crop
impl Sync for Crop
impl Unpin for Crop
impl UnwindSafe for Crop
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> 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>
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<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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().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.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.