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