pub struct ImageProcessor {
pub cpu: Option<CPUProcessor>,
}Expand description
Image converter that uses available hardware acceleration or CPU as a fallback.
Fields§
§cpu: Option<CPUProcessor>CPU-based image converter as a fallback. This is only None if the EDGEFIRST_DISABLE_CPU environment variable is set.
Implementations§
Source§impl ImageProcessor
impl ImageProcessor
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Creates a new ImageProcessor instance, initializing available
hardware converters based on the system capabilities and environment
variables.
§Examples
let image = include_bytes!("../../../testdata/zidane.jpg");
let img = TensorImage::load(image, Some(RGBA), None)?;
let mut converter = ImageProcessor::new()?;
let mut dst = TensorImage::new(640, 480, RGB, None)?;
converter.convert(&img, &mut dst, Rotation::None, Flip::None, Crop::default())?;Trait Implementations§
Source§impl Debug for ImageProcessor
impl Debug for ImageProcessor
Source§impl ImageProcessorTrait for ImageProcessor
impl ImageProcessorTrait for ImageProcessor
Source§fn convert(
&mut self,
src: &TensorImage,
dst: &mut TensorImage,
rotation: Rotation,
flip: Flip,
crop: Crop,
) -> Result<()>
fn convert( &mut self, src: &TensorImage, dst: &mut TensorImage, rotation: Rotation, flip: Flip, crop: Crop, ) -> Result<()>
Converts the source image to the destination image format and size. The image is cropped first, then flipped, then rotated
Prefer hardware accelerators when available, falling back to CPU if necessary.
Source§fn convert_ref(
&mut self,
src: &TensorImage,
dst: &mut TensorImageRef<'_>,
rotation: Rotation,
flip: Flip,
crop: Crop,
) -> Result<()>
fn convert_ref( &mut self, src: &TensorImage, dst: &mut TensorImageRef<'_>, rotation: Rotation, flip: Flip, crop: Crop, ) -> Result<()>
Converts the source image to a borrowed destination tensor for zero-copy
preprocessing. Read more
fn render_to_image( &mut self, dst: &mut TensorImage, detect: &[DetectBox], segmentation: &[Segmentation], ) -> Result<()>
impl Send for ImageProcessor
impl Sync for ImageProcessor
Auto Trait Implementations§
impl Freeze for ImageProcessor
impl RefUnwindSafe for ImageProcessor
impl Unpin for ImageProcessor
impl UnsafeUnpin for ImageProcessor
impl UnwindSafe for ImageProcessor
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> 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 more