Enum opencv::imgcodecs::ImwritePNGFlags
source · #[repr(C)]pub enum ImwritePNGFlags {
IMWRITE_PNG_STRATEGY_DEFAULT = 0,
IMWRITE_PNG_STRATEGY_FILTERED = 1,
IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2,
IMWRITE_PNG_STRATEGY_RLE = 3,
IMWRITE_PNG_STRATEGY_FIXED = 4,
}
Expand description
Imwrite PNG specific flags used to tune the compression algorithm. These flags will be modify the way of PNG image compression and will be passed to the underlying zlib processing stage.
- The effect of IMWRITE_PNG_STRATEGY_FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between IMWRITE_PNG_STRATEGY_DEFAULT and IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY.
- IMWRITE_PNG_STRATEGY_RLE is designed to be almost as fast as IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY, but give better compression for PNG image data.
- The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately.
- IMWRITE_PNG_STRATEGY_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
Variants§
IMWRITE_PNG_STRATEGY_DEFAULT = 0
Use this value for normal data.
IMWRITE_PNG_STRATEGY_FILTERED = 1
Use this value for data produced by a filter (or predictor).Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better.
IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2
Use this value to force Huffman encoding only (no string match).
IMWRITE_PNG_STRATEGY_RLE = 3
Use this value to limit match distances to one (run-length encoding).
IMWRITE_PNG_STRATEGY_FIXED = 4
Using this value prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
Trait Implementations§
source§impl Clone for ImwritePNGFlags
impl Clone for ImwritePNGFlags
source§fn clone(&self) -> ImwritePNGFlags
fn clone(&self) -> ImwritePNGFlags
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ImwritePNGFlags
impl Debug for ImwritePNGFlags
source§impl From<ImwritePNGFlags> for i32
impl From<ImwritePNGFlags> for i32
source§fn from(v: ImwritePNGFlags) -> Self
fn from(v: ImwritePNGFlags) -> Self
Converts to this type from the input type.
source§impl PartialEq for ImwritePNGFlags
impl PartialEq for ImwritePNGFlags
source§fn eq(&self, other: &ImwritePNGFlags) -> bool
fn eq(&self, other: &ImwritePNGFlags) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TryFrom<i32> for ImwritePNGFlags
impl TryFrom<i32> for ImwritePNGFlags
impl Copy for ImwritePNGFlags
impl Eq for ImwritePNGFlags
impl StructuralPartialEq for ImwritePNGFlags
Auto Trait Implementations§
impl Freeze for ImwritePNGFlags
impl RefUnwindSafe for ImwritePNGFlags
impl Send for ImwritePNGFlags
impl Sync for ImwritePNGFlags
impl Unpin for ImwritePNGFlags
impl UnwindSafe for ImwritePNGFlags
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