Я пытаюсь сравнить фигуры в PHP. У меня есть база данных с большим количеством изображений, на этих изображениях есть форма (в основном в центре изображения). Теперь я хочу сравнить эти изображения с Shape.
Входные данные — это форма (png), которая точно такого же размера, что и изображения в базе данных.
Я сделал функцию, которая берет цвет фигуры и превращает его в черный (а фон в белый)
Я могу сравнить каждый пиксель в изображении и отследить, сколько черных пикселей одинаково, но это потребует много ресурсов процессора, и я думаю, что это не будет работать каждый раз.
Я также могу использовать другой язык, такой как python, но я действительно хочу исправить это в PHP. У кого-нибудь есть идея сделать это на практике?
Ответчик в вопросеСравните 2 изображения в php«отличается от того, что я ожидаю. Мне нужно сравнить часть изображения (в примере фон белый, но может быть какой-то шум на фоне)
Это кажется выполнимым с trimImage()
функция в ImageMagick (-trim
флаг в командной строке). Учитывая, что вы уже смогли преобразовать изображение в черный и белый фон, эта функция всегда должна делать то, что вы хотите. На данный момент просто сравните изображения, как указано в вопросе, который вы связали.
Это результат использования trim
в командной строке на изображении с отступом:
Я предполагаю, что функция, которую вы сделали, похожа к алгоритму в findimagedupes
. Если нет, вы должны позаимствовать эту идею.
Других решений пока нет …