Выявление трех отличий в обработке изображений

Найдите отличия с помощью Python

Небольшой учебник

Привет всем, сегодня мы обсудим сравнение двух изображений и выявление их различий. Вот изображение:

Я должен заметить три отличия. Это довольно просто и не займет много времени. Вчера я читал газету и увидел загадку, похожую на эту. Вдруг у меня возникла такая идея; почему мы не можем сделать это на Python? Потому что я могу сравнить два изображения в Python и получить результат. Вот почему я только что сделал это руководство; это все о развлечениях и обучении. Хорошо, приступим к нашему руководству.

Код

from PIL import Image, ImageChops

img1= image.open (‘D:\\downloads\\IDM\\Desktop\\1.jpg’)

img2 = image.open (‘D:\\downloads\\IDM\\Desktop\\2.jpg’)

diff= ImageChops.differences(img1,img2)

if diff.getbbox():

diff.show()

Объяснение

Я использовал Python Image Library (PIL). Внутри него у нас есть подпакеты, такие же, как ImageChops, полная форма чопов - «Операции с каналом». Итак, этот ImageChops пакет содержит так много математических алгоритмов для обработки изображений, таких как картины, редактирование , и многое другое, что вы можете сделать, и вы даже можете изменить изображение, просто вызвав ключевое слово differences. Итак, вы не хотите писать строчки и строчки алгоритмов для этого.

Итак, у меня есть два изображения. Я только что обрезал эти два изображения. Я просто разделил первое изображение на два, а затем сохранил два изображения как Изображение 1 и Изображение 2.

Итак, здесь img1=image.open(‘D:\\downloads\\IDM\\Desktop\\1.jpg’) and img2 = image.open (‘D:\\downloads\\IDM\\Desktop\\2.jpg’)

Итак, у меня есть два файла изображений, и я вызываю это ImageChops package.. Я вызываю функцию differences внутри ImageChops. Итак, теперь я просто передаю два параметра, например img1 и img2, и все.

Итак, теперь diff.getbbox(), граничная рамка называется bbox. Итак, bbox - это что-то вроде того, что он сравнивает изображения, а затем он рисует контуры объектов на изображении, независимо от того, как они выглядят, он просто рисует контур поверх них. Поэтому, если конкретный объект на изображении совсем новый, он придаст ему полный оттенок. Я покажу вам результат. Итак, здесь условие состоит в том, что если между изображением есть разница, то оно должно показать разницу.

Вывод

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

Теперь, если вы обратите внимание на реальное изображение, вы можете увидеть, что у первой акулы будет больше зубов, чем у второй, и вы можете увидеть облако на втором изображении акулы и на первом изображении акулы, оно отсутствует, и вы также можете видите, что на первом изображении акулы есть лист. Но на втором изображении его не было. Это означает, что на самом деле он выдвинул на первый план различия в изображениях. Итак, мы получили результат.

Надеюсь, это будет полезно для вас, ребята. Спасибо за чтение!