Сравнение изображений в python на windows - PullRequest
0 голосов
/ 31 января 2012

Я хотел бы построить программу, которая сравнивает 2 изображения с использованием Python.У меня есть часть кода, которая будет извлекать файлы изображений, мне просто нужно найти способ взять 2 файла изображений и сравнить их, чтобы увидеть, есть ли различия между изображениями .png.

Я пытался использовать PIL, однако у меня возникли проблемы с получением библиотеки для работы с моей программой, я получаю сообщение об ошибке, что модуль _imaging C не установлен.

Это не очень сложная задача, но если кто-то может либо дать мне отправную точку или идею, либо помочь мне использовать PIL, это было бы очень полезно.

Ответы [ 2 ]

0 голосов
/ 31 января 2012

Что вы хотите сравнить в изображениях? Размер? Метаданные и т.д .. ?? Если вы хотите увидеть, соответствуют ли они на 100% (даты создания, размер, содержимое и т. Д.), Я бы хотел получить хэш MD5 для каждого изображения, а затем сравнить возвращенные значения хеша. Это все действительно зависит от того, с каким уровнем вы хотите сравнить изображения. Посмотрите здесь:

Сравните два изображения в стиле python / linux

0 голосов
/ 31 января 2012

Вы можете сделать функцию, которая легко сравнивает изображения, используя модуль PIL:

from PIL import Image

def compare_images(image_file1, image_file2):
    im1 = Image.open(image_file1)
    im2 = Image.open(image_file2)
    if im1.size != im2.size:
        return False
    width, height = im1.size
    im_access1 = im1.load()
    im_access2 = im2.load()
    for i in xrange(height):
        for j in xrange(width):
            if im_access1[i,j] != im_access2[i,j]:
                return False
    return True

Конечно, сначала нужно заставить работать PIL модуль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...