Средство поиска дублирующегося изображения

Когда я загружаю архивы, они часто содержат изображения, которые я уже имею в другой папке, но главным образом с другим именем или форматом файла.

Мой вопрос: Какой сценарий / программное обеспечение 1 Вы знаете, это может распознать 2 дублирующихся изображения?

Это должно позволить Вам решить, являются ли они действительно тем же (и возможно удалите изображения с нижним качеством).

1 в лучшем случае межплатформенный, но Linux было бы достаточно

2, например, их цветовым различием или чем-то

1
задан 02.04.2011, 19:56

3 ответа

для окон их маленькое бесплатное программное обеспечение "visipic". это может искать подобные изображения и дать Вам опцию удалить или переместить файлы согласно их качеству.

загрузите visipic http://www.visipics.info/index.php?title=Download

4
ответ дан 12.12.2019, 08:35

Немного волшебства Python может помочь Вам здесь. Удостоверяясь, что PIL установлен:

import os, sys, glob
import ImageChops, Image


def equal(im1, im2):
    return ImageChops.difference(im1, im2).getbbox() is None

dir1 = sys.argv[1]
dir2 = sys.argv[2]

for im1 in glob.glob(os.path.join(dir1, "*.jpg")):
    for im2 in glob.glob(os.path.join(dir2, "*.jpg")):
        if im1!=im2 and equal(Image.open(im1), Image.open(im2)):
            print im1, "==", im2

Принятие сценария сохраняется как изображение-diff.py:

$python отображают-diff.py dir1 dir2

Это будет искать все изображения JPG в dir1 и dir2, и сравнивать их. Это работает в O (N^2), исключая время, которое занимает ImageChops.difference, так может не подойти для большого набора архивов изображений. Но дает Вам идею. Измените и взломайте как Вам нравится.

1
ответ дан 12.12.2019, 08:35

Для байта копиями байта изображений можно использовать diff команда в терминале (разность человека) Для изображений, которые, вероятно, не идентичны логически, существует названная программа fdupes то, что я раньше использовал в человечности.

0
ответ дан 12.12.2019, 08:35

Теги

Похожие вопросы