Сравните 2 изображения в php


Сравнение 2 изображений, чтобы увидеть, являются ли они одинаковыми файлами, легко, выбросил файлы MD5, но возможно ли или даже правдоподобно определить, совпадают ли 2 изображения, используя PHP GD, чтобы получить разницу между двумя изображениями. Если бы мы могли найти разницу между ними, и все это было белым (я полагаю, белым или даже черным), то теперь мы знали бы, что это одна и та же фотография?

Также примечание: я хотел бы знать, возможно ли получить 2 изображения одинакового размера для создания луковой кожуры эффект, прозрачность 50 % на 1 и 50% на другом.

Author: Joseph, 2010-07-17

8 answers

ImageMagick предлагает различные инструменты, которые вы можете использовать для этого, с помощью расширения PHP ImageMagick.

Http://www.php.net/manual/en/function.imagick-compareimages.php

Самая большая проблема заключается в том, что документация для этой библиотеки в значительной степени отсутствует, поэтому потребуется много проб и ошибок.

 17
Author: kander, 2010-07-17 09:42:20
$md5image1 = md5(file_get_contents($image1));
$md5image2 = md5(file_get_contents($image2));
if ($md5image1 == $md5image2) {

}
 15
Author: Hamada Mido, 2012-02-06 11:15:23

Libpuzzle - это расширение PHP, которое может сравнивать изображения.

 9
Author: pfrenssen, 2011-12-18 15:05:24

Аналогичный вопрос был задан по этому поводу Поток стекового потока и я разработал кое-что для собственного использования. Разместите его здесь, чтобы он мог помочь другим.

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

Я написал более полный запись в блоге об этом также.

 3
Author: Pat Cullen, 2017-05-23 11:46:08

Функция сравнения изображений в PHP с библиотекой GD http://www.robert-lerner.com/imagecompare.php

 3
Author: TechNikh, 2014-03-24 18:20:19

Не уверен, что это так просто, и решение выходит, но, вероятно, вы можете получить представление об обнаружении изображений из:

Распознавание лиц с помощью PHP
Фильтр обнаженности Изображения (Класс)

 0
Author: Sarfraz, 2010-07-17 09:36:52

Если вы сравниваете только два файла, то хеширование данных, а затем сравнение - идеальное решение. Если вы сравниваете большое количество файлов, то лучше сначала отсортировать их по размеру, а затем сравнивать только с одинаковым размером.

 0
Author: mrd081, 2012-08-01 06:22:35

Мне пришлось дедуплицировать набор изображений в формате JPEG, где разница между двумя идентичными изображениями пиксель на пиксель составляла:

  • разные метаданные, например, изображения имели разные IFD0:изменить
  • различные двоичные данные, например изображения, были сжаты без потерь различным программным обеспечением

Решение, которое я использовал, было следующим:

  • откройте изображение с помощью createimagefromjpeg функция
  • сохраните изображение в формате GD2 с помощью imagegd2
  • сравнить версии GD2, использующие сопоставление хэшей или сравнение строк
 0
Author: Salman A, 2017-12-04 17:28:14