Как узнать на сколько пикселей отличаются друг от друга фотографии в python?



@Bezola

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


Решения вопроса 1



@Ternick

Используйте модуль PIL.Image,

КУСЬ

Как-то так

from PIL import Image

img = Image.open("sample.png")

width, height = img.size

print(width, height)#ширина и высота соответственно



4

комментария


Ответы на вопрос 1



@ScriptKiddo

Изображения

609d7c7f64898136360679.png
609d7c86b39f5189175412.png
import base64
from io import BytesIO

from PIL import Image, ImageChops


a_base_64 = 'iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DA' 
            'cdvqGQAAAAWSURBVBhXY3BwcGBgYGD8//8/AwMDABgGA7/DZDVsAAAAAElFTkSuQmCC'

b_base_64 = 'iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DA' 
            'cdvqGQAAAAVSURBVBhXY/z//z8DAwMTEDMwMAAAJAYDAbrboo8AAAAASUVORK5CYII='


a = Image.open(BytesIO(base64.b64decode(a_base_64)))
b = Image.open(BytesIO(base64.b64decode(b_base_64)))

diff = ImageChops.difference(a, b).convert('L')
print(sum(diff.point(bool).getdata()))

OUT

2

Process finished with exit code 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *