LINUX.ORG.RU

Сравнить две скриншота (jpeg)

 ,


0

1

Доброго всем!

Есть два скрина с мобильного девайса.

1- эталон 2 - получен при тестировании

Задача: Сравнить их, при учете что различие в status bare (где часы и т.д.) учитывать не нужно.

Кто может подсказать куда копать?


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

Dantix ★★
()

Попробуй PIL, разницу можешь посчитать с помощью ImageChops.difference, а в status bar можешь просто нарисовать черный прямоугольник на оба скриншота, чтобы это место не учитывалось при сравнении.

Deleted
()

2 Dantix - Спасибо, если проще вариантов не будет, буду пробовать...

2 jollheef - Проблема в том, что второй скриншот снимается напрямую с девайса. Так что если закрашивать вручную - то смысла нет, проще тогда глазами сверить.

Kappa
() автор топика
Ответ на: комментарий от Kappa

2 jollheef - Проблема в том, что второй скриншот снимается напрямую с девайса. Так что если закрашивать вручную - то смысла нет, проще тогда глазами сверить.

#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from PIL import Image, ImageDraw, ImageChops

image_1 = Image.open("/home/michael/dev/image_py_files/test1.png")
image_2 = Image.open("/home/michael/dev/image_py_files/test2.png")

# рисуем прямоугольник на нужное место
for image in image_1, image_2:
    draw = ImageDraw.Draw(image) 
    draw.polygon([(1050, 700), (1050, 760),
                  (1210, 760), (1210, 700)],
                 fill=(255,255,255))

diff = ImageChops.difference(image_1, image_2)
# показываем разницу 
diff.show()
# выводим разницу в попугаях
print len(''.join(sorted(set(diff.tostring()),
                         key=diff.tostring().index)))

;; Если хочешь ответить нескольким, то советую использовать тег

[user]jollheef[/user]
, тогда пользователю придет уведомление.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

О! То что надо! Спасибо огромное

Kappa
() автор топика

ImageMagick compare

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.