Php поиск изображения в изображении

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Google Image Search PHP Package

License

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Query google for images using Google’s new Custom Search API.

ImageSearch::config()->apiKey('API Goes Here'); ImageSearch::config()->cx('CX Goes Here'); ImageSearch::search('civic'); // returns array of results

You need to have an API key and a CX string, both can be found by taking a look here: https://developers.google.com/custom-search/docs/overview

composer require devdojo/google-image-search

Set your API and CX string using the config method:

use DevDojo\GoogleImageSearch\ImageSearch; ImageSearch::config()->apiKey('API Goes Here'); ImageSearch::config()->cx('CX Goes Here');

Once that’s done, use the search method to query a specific string of text

You can also pass in some filters as a second parameter as an array.

ImageSearch::search('civic', ['imgSize' => 'large']);

The list of filters can be found on Google’s official site:

It’ll return an array of results. The images are specifically in the items key.

Читайте также:  How to install opencv to python

About

Google Image Search PHP Package

Источник

Поиск изображения в изображении

Необходимо вычислить координаты изображения Б в изображении А. Изображение А — картинка в формате JPG. Изображение Б — картинка в формате PNG.

Поиск изображения в изображении
Всем привет. Вопрос уже много раз обсуждался. Необходимо найти в скрине экрана сохраненный в файле.

Поиск изображения в изображении
Привет. Допустим у меня есть изображение в битмапе, и мне нужно его найти в сделанном программой.

Поиск изображения в изображении
Необходимо вычислить координаты изображения Б в изображении А. Изображение А — картинка в формате.

Поиск изображения в изображении
Необходимо вычислить координаты изображения Б в изображении А. Изображение А — картинка в формате.

IceHash, хочу кое чем помочь) jpg хитры и сволочной формат)

Простой сверкой пикселей там не пройдет, в jpg никогда не будет черного пикселя который ты сам поставил на картинку в том случае если в окружении нету хотя бы 3-ку 5-ку таких же по оттенкам) он сглаживает все, поэтому я советую идти от каев в центр)

т.е. изображение допустим 100 на 100, то что ищешь 25 на 25, вот ищи от 0го до 75го пикселя по горизонтали и от 0го до 75го по вертикали, ищи совпадения крайних пикселей, как найдешь тогда уже можешь двигаться к центру искомого исозбажения и уже сравнимать 1 и 23 пиксель) и т.д., сыкономит время)

P.S. «==» не используй, делай приближения +/-(3-5) а то не найдешь из-за сглаживания)

Зачем учитывать сглаживание, нужно провести предварительную обработку изображения. Формат изображения не влияет на поиск, пиксели остаются пикселями.
Для поиска изображений на изображении -изображение переводят в черно белое либо 4 основных цвета, затем imagecolorat получают цвет заносят в массив 0-белое 1 черное. Можно и не заносить в массив просто для шаблона подсчитать признаки такие как яркость, цвет, текстура, форма.

function png2jpg($originalFile, $outputFile, $quality) { //перевод из png в jpg $image = imagecreatefrompng($originalFile); imagejpeg($image, $outputFile, $quality); imagedestroy($image); }

Поиск изображения в изображении?
Всем привет. Подскажите как сделать поиск изображения в изображении. Есть два изображения: большое.

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

Поиск изображения в изображении
имеется два изображения *.bmp. Первое(1.bmp, width==480, height==640), второе(2.bmp, width==24.

Поиск части изображения в изображении
Здравствуйте. Имеется картинка, на ней есть некий белый прямоугольник с символами. Как можно.

Источник

Как определить дубликаты картинок с помощью PHP

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

Читайте также:  Mr. Camel

Потому рано или поздно встает вопрос автоматизации процесса поиска повторов, и тут мы рассмотрим основные, а также попробуем в деле.

Сравнение файлов через функцию hash

Одним из способов определения дубликатов является сравнение файлов путем генерации хеш-значения из содержимого заданного файла.

Простой пример вычисления хеша изображения:

Результат выглядит примерно так: bff8b4bc8b5c1c1d5b3211dfb21d1e76

Если хеши двух изображений совпадают – изображения одинаковые.
Метод далеко не самый точный, так как работает только для идентичных картинок, при малейшем различии — толку ноль.

ImageMagick

Функция обработки изображений Imagick::compareImages возвращает массив, который содержит восстановленное изображение и разницу между изображениями.

Пример использования при сравнении двух изображений:

compareImages($image2, Imagick::METRIC_MEANSQUAREERROR); $result[0]->setImageFormat("png"); echo $result[0]; ?> 

В итоге две сравниваемые картинки лепятся в одну, на которой видны отличия.
Также можно получить числовое выражение отличий по каждому параметру (пример с оф.сайта):

-> compare -verbose -metric mae rose.jpg reconstruct.jpg difference.png Image: rose.jpg Channel distortion: MAE red: 2282.91 (0.034835) green: 1853.99 (0.0282901) blue: 2008.67 (0.0306503) all: 1536.39 (0.0234439) 

gd2 и libpuzzle

Для быстрого поиска дубликатов необходимо установить библиотеки gd2 и libpuzzle.

apt-get install libpuzzle-php php5-gd 

Libpuzzle создана для быстрого поиска визуального сходства изображений (GIF, PNG, JPEG). Сначала растровая картинка разбивается на блоки — автоматически отбрасываются рамки, не несущие особо значимой информации. Разница между смежными блоками формирует вектор — это так называемая подпись картинки. Похожесть картинок определяется расстоянием между двумя такими векторами. Потому обычно изменение цвета, ресайз или сжатие не влияют на результаты, выдаваемые libpuzzle.

Libpuzzle довольно проста в использовании. Вычисление подписи для двух изображений:

$cvec1 = puzzle_fill_cvec_from_file('img1.jpg'); $cvec2 = puzzle_fill_cvec_from_file('img2.jpg'); 

Вычисление расстояния между подписями:

$d = puzzle_vector_normalized_distance($cvec1, $cvec2); 

Проверка изображений на схожесть:

Сжатие подписей для хранения в базе данных:

$compress_cvec1 = puzzle_compress_cvec($cvec1); $compress_cvec2 = puzzle_compress_cvec($cvec2); 

Перцептивный хеш

Вероятнее всего, самый точный способ нахождения дубликатов — сравнение файлов через перцептивный хеш. Проверка на схожесть проводится путем подсчета количества отличающихся позиций между двумя хешами, это расстояние Хэмминга. Чем расстояние меньше — тем больше совпадение.

Отличается от первого способа тем, что указывает не только на одинаковость/неодинаковость, но и на степень различия. Подробнее об этом принципе можно прочитать в неплохом переводе.

Установка для UNIX платформ выглядит так:

$ ./phpize $ ./configure [--with-pHash=. ] $ make $ make test $ [sudo] make install 

Попробовать на деле можно через i.onthe.io/phash. Загрузка изображений через интерфейс и на выходе показатель «одинаковости».

Как это работает

Получаем хеш первого изображения:

$phash1 = ph_dct_imagehash($file1); 

Получаем хеш второго изображения:

$phash2 = ph_dct_imagehash($file2); 

Получаем расстояние Хэмминга между двумя изображениями:

$dist = ph_image_dist($phash1,$phash2); 

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

Читайте также:  Search and filter in php

Например, при зеркальном отражении — картинка остается неузнанной.
Зато с цветами можно играться сколько угодно — на результат сравнения это не повлияет.
Чего нельзя сказать о манипуляциях с RGB-каналами, Джона опять не узнали, хоть и расстояние Хэмминга для такого случая гораздо меньше.

Остальные результаты выглядят так:

Не мешают (расстояние Хэмминга = 0) Мешают (расстояние Хэмминга — в скобках)
Измененное имя файла Кроп (34)*
Формат (JPEG, PNG, GIF) Поворот 90° (32)**
Оптимизация Google PageSpeed Зеркальное отражение (36)
Ресайз с сохранением пропорций и без Изменение положения кривых в RGB-каналах (18)
Изменение цветовой гаммы и четкости

*зависит от величины кропнутой области. При отрезании от картинки маленькой рамки толщиной в несколько пикселей, расстояние Хэмминга будет нулевым, следовательно сходство — 100%. Но чем ощутимее кроп — тем больше расстояние — тем меньше шансов обнаружить дубликат. О поиске кропнутых дубликатов через перцептивные хеши можно почитать тут.

**то же самое, что и с кропом. При повороте на пару градусов расстояние незначительное, но чем больше угол наклона — тем сильнее различие.

Конспект

  1. Для сравнения картинок используйте ImageMagick, а для поиска полностью идентичных — сравнение через хеш.
  2. Чтобы находить незначительно измененные изображения — используйте библиотеку libpuzzle.
  3. Сравнение через перцептивный хеш — одно из самых надежных, можно попробовать тут.

Источник

Php поиск картинки в картинке

Столкнулся с проблемой. Есть фото 200х200 px и 1 кусочек этого фото 10х10 px, как найти координаты этого куска?

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

Поиск картинки в другой картинке
Здравствуйте! Задача такая: нужно найти картинку на большой картинке. Пока искал ответ на этот.

Найти координаты элемента на экране (поиск картинки на картинке)
Есть две картинки Первая допустим — красный квадрат А вторая — скриншот экрана, на котором где то.

Размещение картинки на картинке
Здравствуйте. Такая проблема: надо на картинке разместить другую картинку, при чём первая должна.

Перемещение картинки по картинке
Нужно, чтобы одна картинка (прозрачная в середине) была наложена на вторую, а та перемещалась по.

Программа для поиска картинки на ПК по заданной картинке
Всем привет! Подскажите, пожалуйста, хорошую прогу, с помощью которой можно было бы найти на ПК.

Текст на картинке по ховеру с одновременным изменением прозрачности картинки
Подскажите пожалуйста как реализовать следующую задумку: Имеем фото. При наведении на фото: 1.

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

Источник

Оцените статью