| Crates.io | image_dct |
| lib.rs | image_dct |
| version | 0.1.1 |
| created_at | 2023-05-04 03:13:46.010685+00 |
| updated_at | 2023-05-04 03:33:50.507143+00 |
| description | Simple Rust implementation for getting the DCT coefficients of an image |
| homepage | |
| repository | https://github.com/Ty1an/image_dct |
| max_upload_size | |
| id | 856174 |
| size | 34,544 |
Simple Rust implementation for getting the DCT coefficients of an image.
Dependent on image, rustdct crates.
cargo add image_dct
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();
}