2016-11-02 5 views
0

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

Изображение 1:

enter image description here

Изображение 2:

enter image description here

Ожидаемая разница Изображение что-то вроде этого:

enter image description here

Как вы можете видеть, различия выделяются цифрами .

Все, что я был в состоянии сделать на данный момент является:

import cv2 

img1 = cv2.imread("1.jpg", cv2.IMREAD_GRAYSCALE) 
img2 = cv2.imread("2.jpg", cv2.IMREAD_GRAYSCALE) 
diff = cv2.absdiff(img1, img2) 

Есть ли способ сделать это? Любая помощь будет оценена!

+1

[Это] (http://stackoverflow.com/a/34025766/5008845) должно помочь вам начать работу – Miki

+0

Спасибо. Я пройду через это. – dunder

ответ

0

Вы можете сравнить пиксели по одному с библиотекой, такой как PIL.

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^