#png #image #jpeg #ssim #duplicate #multi-threading #similarity

app dupimg

一个简单的重复图像查找器

4个版本

0.2.0 2024年2月4日
0.1.2 2023年2月13日
0.1.1 2023年2月10日
0.1.0 2023年2月10日

图像分类中排名372

每月下载43

AGPL-3.0

14KB
273

dupimg

一个简单的重复图像查找器。

概述

使用由dssim-core实现的SSIM算法检查两张图像之间的相似度。通过首先将图像内部缩放到200x200,可以在任何大小的JPG和PNG图像上工作。

多线程运行,每个图像都会与另一个图像进行检查,没有例如提前找到可能的候选者的启发式方法,因此虽然这已经有所优化,但检查许多文件仍然可能非常慢。

注意:我在Rust方面相当不熟练,所以这里肯定有一些愚蠢的代码。

安装

运行cargo install dupimg,或者克隆此仓库并从项目根目录运行cargo install --path .

基本用法

dupimg[-r 目录1/目录2/ ...]文件1.jpg 文件2.png...

输出格式

<IMAGE 1>       # path to first image
<IMAGE 2>       # path to second image
  SSIM: 0.0...  # positive and unbounded; lower values indicate a closer match

阈值

可以通过例如-t 0.01设置显示匹配的阈值。只有SSIM小于或等于此阈值的匹配才会显示。

默认值为0.1,因为这通常会产生很少的误报。

递归

-r可以指定以启用遍历指定的目录。

当递归启用时,仅检查PNG和JPG文件。这也适用于命令行中指定的文件名。

有关更多信息,请参阅dupimg --help

注意

所有程序输出都是未排序和不稳定的,不要依赖它。

致谢

此crate中的所有代码都是我自己编写的。

所有使用到的库的功劳都归功于它们的各自作者。

依赖项

~10–20MB
~252K SLoC