2 releases
0.1.1 | May 4, 2023 |
---|---|
0.1.0 | May 4, 2023 |
#777 in Images
26 downloads per month
12KB
91 lines
Image DCT
Simple Rust implementation for getting the DCT coefficients of an image.
Dependent on image, rustdct crates.
Install
cargo add image_dct
Usage
use image_dct::image_to_dct::ImageDct;
fn main() {
// load image as a RGB ImageBuffer
let img = image::open("image.png").unwrap().to_rgb8();
// Create the ImageDct object from ImageBuffer
let mut image_dct = ImageDct::new(img);
// Compute the DCT of the image then compute the inverse DCT on the coefficients
image_dct.compute_dct();
image_dct.compute_idct();
// Reconstruct it back into an RGB ImageBuffer
let reconstructed_image = image_dct.reconstructe_image();
// Save the reconstructed image into a PNG
image::save_buffer(
"./output.png",
&reconstructed_image,
image_dct.width() as u32,
image_dct.height(),
image::ColorType::Rgb8,
)
.unwrap();
}
Dependencies
~16MB
~118K SLoC