Очевидное улучшение скорости, которое вы можете добиться, это сравнение только тех частей изображения, которые могли измениться, путем рисования линии, соединяющей ваши две заданные точки - субизображение, ограниченное двумя точками, которые вы передаете в cv2 .line ().
Так будет быстрее работать:
img_buffer = orig_img.copy()
x1, y1 = point1
x2, y2 = point2
# make sure x1 and y1 are the lower values
if x2 < x1:
x1, x2 = x2, x1
if y2 < y1:
y1, y2 = y2, y1
cv2.line(img_buffer, point1, point2, colorBlack, 1)
diff_exist = np.any(cv2.absdiff(img_buffer[y1:y2, x1:x2],
orig_img[y1:y2, x1:x2]))