Create greyscale example

This commit is contained in:
cdo committed 2026-10-26 15:05:11 +00:00
1 parent 937b20bb87
commit 96d1af5b78
1 file changed
+8 -12
@@ -1,4 +1,8 @@
use ccvl::{image::*, kernel::*}; use ccvl::image::*;
fn filter(img: Image<SRGBA>) -> Image<SRGBA> {
img.map(|p| Luminance::from(p).into())
}
fn main() -> std::process::ExitCode { fn main() -> std::process::ExitCode {
let args = std::env::args().collect::<Vec<String>>(); let args = std::env::args().collect::<Vec<String>>();
@@ -19,20 +23,12 @@ fn main() -> std::process::ExitCode {
println!("I/O error loading image {}: {}", input_path, err); println!("I/O error loading image {}: {}", input_path, err);
std::process::ExitCode::FAILURE std::process::ExitCode::FAILURE
} }
Ok(img) => { Ok(img) => match filter(img).save::<Farbfeld>(output_path) {
let kernel =
[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0], [1.0, 1.0, 1.0]];
let result = kernel.convolve(&img);
match result.save::<Farbfeld>(output_path) {
Err(err) => { Err(err) => {
println!( println!("I/O error saving image {}: {}", output_path, err);
"I/O error saving image {}: {}",
output_path, err
);
std::process::ExitCode::FAILURE std::process::ExitCode::FAILURE
} }
Ok(()) => std::process::ExitCode::SUCCESS, Ok(()) => std::process::ExitCode::SUCCESS,
} },
}
} }
} }