pub struct ChangeDensity { /* private fields */ }Expand description
YIQ squared-delta floor for treating a pixel as actually changed. 100.0 corresponds to a YIQ-weighted distance of 10, roughly equivalent to a perceptual delta of ~0.017 — filters near-identical pixels without throwing away genuine edits. How much of any rectangle differs between the two images at all, answered in constant time from a summed-area table.
Merging patches is a question about the gaps between them, and the change mask cannot answer it: everything below the diff threshold reads as background there. A regenerated or recolored area leaves a faint delta across the whole of itself, so its patches sit in touched space; two distinct edits are separated by pixels that are identical in both images.
Implementations§
Auto Trait Implementations§
impl Freeze for ChangeDensity
impl RefUnwindSafe for ChangeDensity
impl Send for ChangeDensity
impl Sync for ChangeDensity
impl Unpin for ChangeDensity
impl UnsafeUnpin for ChangeDensity
impl UnwindSafe for ChangeDensity
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