3个不稳定版本
0.1.0 | 2021年12月18日 |
---|---|
0.0.2 | 2021年12月18日 |
0.0.1 | 2021年12月16日 |
#673 in 图像
11KB
119 行
imeq-rs旨在快速比较两张图片,以查看它们是否为同一张图片。
独立
安装
cargo install imeq
使用
USAGE:
imeq <IMAGE_1> <IMAGE_2>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<IMAGE_1> Sets the first image to use
<IMAGE_2> Sets the second image to use
基准测试
以下基准测试是在2020年M1 Mac Mini上进行的,该机器有16gb的ram和256gb的ssd,使用了hyperfine -w 3
,该命令执行了3次(-w 3之外),并记录了第三次运行的结果。
baseline.jpeg
和baseline_by_another_name.jpeg
应该相同,除了名称外。
flipped.jpeg
已经水平翻转。
modified.jpeg
已经被修改,使得最底部的右下角像素是红色的。
hyperfine -w 3 'target/release/imeq images/baseline.jpeg images/baseline.jpeg'
Time (mean ± σ): 1.1 ms ± 0.3 ms [User: 0.6 ms, System: 0.3 ms]
Range (min … max): 0.8 ms … 2.6 ms 857 runs
hyperfine -w 3 'target/release/imeq images/baseline.jpeg images/baseline_by_another_name.jpeg'
Time (mean ± σ): 5.5 ms ± 0.4 ms [User: 7.4 ms, System: 2.3 ms]
Range (min … max): 5.1 ms … 7.5 ms 308 runs
hyperfine -w 3 'target/release/imeq images/baseline.jpeg images/flipped.jpeg'
Time (mean ± σ): 93.7 ms ± 3.4 ms [User: 443.6 ms, System: 54.2 ms]
Range (min … max): 90.4 ms … 102.8 ms 31 runs
hyperfine -w 3 'target/release/imeq images/baseline.jpeg images/modified.jpeg'
Time (mean ± σ): 113.1 ms ± 0.9 ms [User: 471.1 ms, System: 53.4 ms]
Range (min … max): 111.4 ms … 115.5 ms 26 runs
作为库
安装
将以下行添加到您的Cargo.toml文件中
imeq = "0.1.0"
或者如果您已经安装了cargo edit
。
cargo add imeq
使用
let image_1 = "images/baseline.jpeg".to_string();
let image_2 = "images/modfied.jpeg".to_string();
let images_match = imeq::Compare::new(image_1, image_2)
.enable_check_images_have_same_path()
.enable_check_image_hashes_match()
.enable_check_images_dimensions_match()
.enable_check_images_pixels_match()
.are_match();
if images_match {
println!("Images are a match");
} else {
println!("Images are not a match");
}
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。
依赖项
~22MB
~311K SLoC