10 个版本
0.2.6 | 2024 年 4 月 3 日 |
---|---|
0.2.5 | 2023 年 11 月 29 日 |
0.1.2 | 2023 年 11 月 27 日 |
在 命令行工具 中排名第 1562
每月下载量 59 次
28KB
593 行
simagef
是一个用于查找相似图像的 CLI 工具。它接受图像路径列表,并返回相似图像的组或对。
它使用 image-match crate 生成图像签名并进行比较。还有一个选项,可以使用 image-compare crate 通过像素比较来匹配图像。
simagef
比 Perl 脚本 findimagedupes 快,但可能不会产生完全相同的结果 - 即使在签名/像素模式下,也不是为了替换而设计的。
性能
在配备 Intel Core i7-11800-H 处理器的笔记本电脑上使用默认设置,simagef
可以在 47 秒内比较 12,399 张大小适中的图像,总共进行了 76,861,401 次比较。
安装
在大多数平台上通过 cargo 安装
cargo install simagef
在 Arch Linux 上安装
yay simagef-bin
用法
比较一组图像
simagef a.png b.png c.png
您可以使用 -t
或 --threshold
选项设置相似度阈值
simagef -t 50 a.png b.png c.png
如果文件名列表中出现 -
,则可以从中读取文件名。例如,使用 fd
命令查找文件时使用它
fd . ~/my_images | simages base.png base2.png -
您可以使用 (较慢的) 像素算法,使用 -m
或 --pixels
标志。
如果您只想获取图像对而无需分组,请使用 -p
或 --pairs
标志。
您可以使用 -e
或 --exec
指定外部图像查看器来比较图像组。您还可以提供命令行参数
simagef -e "gwenview -s" ~/Pictures/*
这将使用文件名组(或对)作为参数启动可执行文件。在先前的可执行文件退出后,将再次启动可执行文件以启动下一组。
注意事项
-
代码中使用的
crossbeam
通道是无界的,我认为这是一个错误。 -
使用递归图算法创建组。
依赖关系
~8.5MB
~136K SLoC