如何检测照片的重复项(即使重复项的分辨率较低)以及如何仅保留高分辨率的副本?

如何检测照片的重复项(即使重复项的分辨率较低)以及如何仅保留高分辨率的副本?

仔细查看从我的智能手机传输到电脑上的数千张照片有点困难。从中筛选出好照片需要耗费大量的时间,甚至需要熬夜。这尤其具有挑战性的是WhatsApp,因为它在我的手机上默认配置为发送/接收压缩的低分辨率图像,而不是全分辨率图像。据我所知,分享自己智能手机拍摄的照片会将全分辨率照片留在手机上,另外还会在 WhatsApp 目录中创建并保存已发送照片的压缩、低分辨率和重命名副本,从而有效地创建低分辨率副本。

作为我设想的工作流程的第一次迭代,我想只选择独特的照片(在一系列文件夹和子文件夹中)。如果给定的照片存在不止一次(大小相同(分辨率相同)或大小不同(分辨率不同),我想只选择一个副本,并且明确只选择一个最高分辨率的副本(忽略所有低分辨率副本)。

基于这两个相关问题

我怎样才能在这么短的时间内完成这件事?


这项练习的结果/意义是,在最初的照片选择中还包括照片已收到在 WhatsApp 中 - 只要它们是唯一的并且在其他地方(在我的手机/电脑上)不存在更高分辨率的副本。


更多相关链接/资源:

答案1

我有同样的用例,并且我编写了一个漂亮的小脚本来实现这个目的。

看看这个 Python 脚本是否对你也有帮助:

https://github.com/AnirudhKishan/DeleteVisuallyRedundant

答案2

前段时间,我在 Ubuntu 10.04 中使用杜佩古鲁图片版就是其中之一。它非常擅长查找各种尺寸和分辨率的重复项。似乎自 DupeGuru 4.0 版以来,图片版作为一个单独的应用程序已经消失,但它的功能已作为“图片模式”并入主应用程序。你可以试试,但目前只有适用于 Ubuntu 16.04 和 18.04 的软件包可用,没有 20.04 的版本。

18.04 的软件包可以在 20.04 下运行,但安装后需要进行一些额外的修复。您需要执行以下命令:

cd /usr/share/dupeguru/core/pe
sudo ln -s _block.cpython-36m-x86_64-linux-gnu.so _block.cpython-38-x86_64-linux-gnu.so
sudo ln -s _cache.cpython-36m-x86_64-linux-gnu.so _cache.cpython-38-x86_64-linux-gnu.so
cd /usr/share/dupeguru/qt/pe
sudo ln -s _block_qt.cpython-36m-x86_64-linux-gnu.so _block_qt.cpython-38-x86_64-linux-gnu.so

此后,DupeGuru 运行完美。

答案3

数码相机这似乎是我的答案。很多比...更强大肖特韦尔

工具 >查找重复项(Ctrl D)>... [生成/更新 指纹]...>”相似范围“〜95%。

为了找到“低分辨率重复”,相似范围必须不是设置为 100%,但相当接近,例如 95%。

相关内容