Сравните два изображения и выделите различия Python

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

В этом сообщении блога будут рассмотрены следующие моменты:

Предпосылки:

Прежде чем начать, убедитесь, что у вас подготовлены следующие необходимые условия:

  1. На вашем компьютере установлен Python (рекомендуется версия 3.x).
  2. Установлен GroupDocs.Comparison Cloud SDK для Python. Инструкции по установке также можно найти в официальной документации GroupDocs.Comparison Cloud.

Настройка SDK для сравнения изображений Python

Для начала включите GroupDocs.Comparison Cloud в свой проект Python через pip (установщик пакетов Python), выполнив следующую команду в интерфейсе командной строки:

pip install groupdocs_comparison_cloud

Запустите API-клиент

Затем откройте свой Идентификатор клиента и Секрет клиента на панели мониторинга и интегрируйте предоставленный код, как показано ниже:

import groupdocs_comparison_cloud
# Get app_sid & app_key from https://dashboard.groupdocs.cloud after free registration.
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Get File API configurations.
configuration = groupdocs_comparison_cloud.Configuration(app_sid, app_key)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "LocalStorage"

Загрузите файлы изображений

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

# Create an instance of the file API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# Call upload file request
request = groupdocs_comparison_cloud.UploadFileRequest("images\source.jpg", "H:\\groupdocs-cloud-data\\source.jpg", storage_name)
# Upload file to the cloud
response = file_api.upload_file(request)
print(response.uploaded)
view raw upload-file.py hosted with ❤ by GitHub

В результате загруженные вами изображения будут доступны в разделе файлов вашей облачной панели управления.

Сравните два изображения и выделите различия с помощью Python

Чтобы сравнить два изображения и выделить различия, выполните следующие действия:

  1. Создайте экземпляр CompareApi, используя свои учетные данные.
  2. Создайте экземпляры FileInfo для исходного и целевого изображений и задайте file_path.
  3. Настройте ComparisonOptions с исходным и целевым объектами FileInfo и задайте выходной_путь.
  4. Создайте экземпляр ComparisonsRequest и вызовите api_instance.comparisons(request) для выполнения сравнения, сохранив результат в переменной ответа.

В приведенном ниже коде показано, как использовать REST API сравнения для сравнения двух изображений и выделения различий в Python.

import groupdocs_comparison_cloud
client_id = "XXXX-XXXX-XXXX-XXXX" # Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
client_secret = "XXXXXXXXXXXXXXXX" # Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_files/images/source.jpg"
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target_files/images/target.jpg"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "output/result.jpg"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

На следующем изображении рядом показаны исходное и целевое изображения.

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

Загрузить полученное изображение

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

# Create instance of the API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.DownloadFileRequest("output/result.jpg", my_storage)
response = file_api.download_file(request)
# Move downloaded file to your working directory
shutil.move(response, "C:\\Files\\")

Заключение

В этой статье блога мы предоставили подробное последовательное руководство по эффективному сравнению изображений и выявлению отклонений с помощью GroupDocs.Comparison Cloud SDK для Python. Следуя этим рекомендациям, вы сможете легко интегрировать функцию сравнения изображений в свои приложения Python.

Кроме того, для более глубокого изучения Cloud API GroupDocs.Comparison обратитесь к нашей обширной документации. Мы также предоставляем раздел ссылка на API, позволяющий вам напрямую взаимодействовать и визуализировать наши API в вашем веб-браузере. Вы можете открыто получить доступ к полному исходному коду Python SDK на GitHub.

Наконец, мы регулярно публикуем новые статьи в блогах, в которых рассматриваются различные форматы файлов и методы анализа с использованием нашего REST API. Не стесняйтесь обращаться к нам за последними обновлениями. Наслаждайтесь своим путешествием по программированию!

Бесплатный онлайн-инструмент для сравнения изображений

Чтобы сравнить два изображения онлайн, вы можете попробовать наше онлайн-приложение для сравнения изображений. Это приложение было разработано с использованием ранее упомянутого API REST сравнения.

Задайте вопрос

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

Смотрите также

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