pub struct PerspectiveTransform {
pub homography: HomographyMatrix,
}Expand description
Perspective (homography) transform applied to RGBA images.
Fields§
§homography: HomographyMatrixThe forward homography (src → dst mapping).
Implementations§
Source§impl PerspectiveTransform
impl PerspectiveTransform
Sourcepub fn new(homography: HomographyMatrix) -> Self
pub fn new(homography: HomographyMatrix) -> Self
Create a new perspective transform with the given homography.
Sourcepub fn warp_rgba(
&self,
src: &[u8],
src_w: u32,
src_h: u32,
dst: &mut [u8],
dst_w: u32,
dst_h: u32,
) -> Result<()>
pub fn warp_rgba( &self, src: &[u8], src_w: u32, src_h: u32, dst: &mut [u8], dst_w: u32, dst_h: u32, ) -> Result<()>
Apply a perspective warp to an RGBA source image.
Uses backward-mapping: for each destination pixel, the inverse homography maps it to a source coordinate, which is sampled bilinearly.
Out-of-bounds source coordinates are filled with black ([0, 0, 0, 0]).
§Errors
Returns an error if buffer sizes are inconsistent or if the homography is not invertible.
Trait Implementations§
Source§impl Clone for PerspectiveTransform
impl Clone for PerspectiveTransform
Source§fn clone(&self) -> PerspectiveTransform
fn clone(&self) -> PerspectiveTransform
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 PerspectiveTransform
impl RefUnwindSafe for PerspectiveTransform
impl Send for PerspectiveTransform
impl Sync for PerspectiveTransform
impl Unpin for PerspectiveTransform
impl UnsafeUnpin for PerspectiveTransform
impl UnwindSafe for PerspectiveTransform
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more