![如何检测照片的重复项(即使重复项的分辨率较低)以及如何仅保留高分辨率的副本?](https://linux22.com/image/907050/%E5%A6%82%E4%BD%95%E6%A3%80%E6%B5%8B%E7%85%A7%E7%89%87%E7%9A%84%E9%87%8D%E5%A4%8D%E9%A1%B9%EF%BC%88%E5%8D%B3%E4%BD%BF%E9%87%8D%E5%A4%8D%E9%A1%B9%E7%9A%84%E5%88%86%E8%BE%A8%E7%8E%87%E8%BE%83%E4%BD%8E%EF%BC%89%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E4%BB%85%E4%BF%9D%E7%95%99%E9%AB%98%E5%88%86%E8%BE%A8%E7%8E%87%E7%9A%84%E5%89%AF%E6%9C%AC%EF%BC%9F.png)
仔细查看从我的智能手机传输到电脑上的数千张照片有点困难。从中筛选出好照片需要耗费大量的时间,甚至需要熬夜。这尤其具有挑战性的是WhatsApp,因为它在我的手机上默认配置为发送/接收压缩的低分辨率图像,而不是全分辨率图像。据我所知,分享自己智能手机拍摄的照片会将全分辨率照片留在手机上,另外还会在 WhatsApp 目录中创建并保存已发送照片的压缩、低分辨率和重命名副本,从而有效地创建低分辨率副本。
作为我设想的工作流程的第一次迭代,我想只选择独特的照片(在一系列文件夹和子文件夹中)。如果给定的照片存在不止一次(大小相同(分辨率相同)或大小不同(分辨率不同),我想只选择一个副本,并且明确只选择一个最高分辨率的副本(忽略所有低分辨率副本)。
基于这两个相关问题
我怎样才能在这么短的时间内完成这件事?
这项练习的结果/意义是,在最初的照片选择中还包括照片已收到在 WhatsApp 中 - 只要它们是唯一的并且在其他地方(在我的手机/电脑上)不存在更高分辨率的副本。
更多相关链接/资源:
- https://www.linux.com/learn/how-sort-and-remove-duplicate-photos-Linux
- http://www.visipics.info/index.php?title=Main_Page(“VisiPics 已在 Linux 上使用 Wine 成功测试”)
- https://www.howtogeek.com/117559/how-to-banish-duplicate-photos-with-visipic/
- https://pictureecho.com/(仅限 Windows)
- https://www.techpout.com/best-duplicate-photo-finder-and-cleaner-software/
- https://web.archive.org/web/20201126221814/https://blogs.systweak.com/5-duplicate-photo-finder-tools-to-delete-duplicate-photos/
- https://softwarerecs.stackexchange.com/questions/40552/i-need-a-program-that-can-find-duplicate-images-different-resolutions-and-repl
- https://stackoverflow.com/questions/13091603/find-duplicate-images-of-different-sizes
- https://www.mindgems.com/products/VS-Duplicate-Image-Finder/VSDIF-About.htm
- https://www.microsoft.com/en-us/p/duplicate-cleaner-free/9nblggh4rrr3
- https://sourceforge.net/projects/gdupfinder/
答案1
我有同样的用例,并且我编写了一个漂亮的小脚本来实现这个目的。
看看这个 Python 脚本是否对你也有帮助:
答案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 运行完美。