Рубрики
Без рубрики

Как создать различие изображения в Python

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

За последние пару лет я писал автоматизированные тесты для моего работодателя. Один из многих типов тестов, которые я делаю, сравниваю, как приложение рисует. Это делает это так же каждый раз? Если нет, то у нас серьезная проблема. Простой способ проверить, что он рисует то же самое каждый раз, – взять скриншот, а затем сравнить его с будущими версиями того же рисунка, когда приложение обновляется.

Подушка Библиотека Обеспечивает удобный инструмент для такой вещи, которая называется ImageChops Отказ Если у вас еще нет подушки, вы должны установить его сейчас, чтобы вы могли следовать вместе с этим коротким руководством.

Сравнивая два изображения

Первое, что нам нужно сделать, это найти два изображения, которые немного отличаются. Вы можете создать свой собственный, используя Bread Mode на своей камере и предпринимая кучу фотографий животных, поскольку они движутся, желательно при использовании штатива. Или вы можете взять существующее фото и просто добавить какое-то наложение, например, текст. Я собираюсь пойти с последним методом. Вот моя оригинальная фотография мульфнома в Орегон:

И вот модифицированная версия, в которой я добавил какой-нибудь текст для определения местонахождения фото:

Теперь давайте будем использовать ImageChops, чтобы найти разницу для нас!

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

Упаковка

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

Связанное чтение