Files
hcie-rust-v3.05/hcie-io/examples/inspect_diff.rs
T

37 lines
1.1 KiB
Rust
Raw Normal View History

2026-07-13 20:33:39 +03:00
fn main() {
let ref_img = image::open("_images/_psd_stil_test/test_2/Emboss.png")
.unwrap()
.to_rgba8();
2026-07-13 20:33:39 +03:00
let test_img = image::open("/tmp/test2_Emboss.png").unwrap().to_rgba8();
let mut diff_sum = 0.0;
let mut max_diff = 0;
let mut px = 0;
let mut printed = 0;
for y in 0..ref_img.height() {
for x in 0..ref_img.width() {
let rp = ref_img.get_pixel(x, y);
let tp = test_img.get_pixel(x, y);
let d = (rp[0] as i32 - tp[0] as i32).abs()
+ (rp[1] as i32 - tp[1] as i32).abs()
+ (rp[2] as i32 - tp[2] as i32).abs()
+ (rp[3] as i32 - tp[3] as i32).abs();
2026-07-13 20:33:39 +03:00
diff_sum += d as f64;
max_diff = max_diff.max(d);
px += 4;
if d > 100 && printed < 20 {
println!("x: {}, y: {} | REF: {:?} | TEST: {:?}", x, y, rp, tp);
printed += 1;
}
}
}
println!("Avg diff per channel: {:.2}", diff_sum / px as f64);
println!("Max pixel diff: {}", max_diff);
}