вот две сетки и дубликат каждой;




поскольку сетка не была точно прослежена и не искажена, она вначале меняется от кадра к кадру, но информация о цвете одинакова для нескольких кадров. Как избавиться от изображений, содержащих одну и ту же сетку цветов, и сохранить только одну ее копию?
Код: Выделить всё
COLORS_AS_RGB = {
'red': np.array([255, 22, 1], dtype=np.uint8),
'green': np.array([0, 216, 0], dtype=np.uint8),
'blue': np.array([0, 15, 255], dtype=np.uint8)
}
# ...
for i in range(0, len(images)-1):
img_1_r_mask = cv2.inRange(images[i], COLORS_AS_RGB['red'], COLORS_AS_RGB['red'])
img_1_g_mask = cv2.inRange(images[i], COLORS_AS_RGB['green'], COLORS_AS_RGB['green'])
img_1_b_mask = cv2.inRange(images[i], COLORS_AS_RGB['blue'], COLORS_AS_RGB['blue'])
img_1_c_mask = cv2.bitwise_or(img_1_r_mask, cv2.bitwise_or(img_1_g_mask, img_1_b_mask))
img_2_r_mask = cv2.inRange(images[i+1], COLORS_AS_RGB['red'], COLORS_AS_RGB['red'])
img_2_g_mask = cv2.inRange(images[i+1], COLORS_AS_RGB['green'], COLORS_AS_RGB['green'])
img_2_b_mask = cv2.inRange(images[i+1], COLORS_AS_RGB['blue'], COLORS_AS_RGB['blue'])
img_2_c_mask = cv2.bitwise_or(img_2_r_mask, cv2.bitwise_or(img_2_g_mask, img_2_b_mask))
delta_mask = cv2.bitwise_xor(img_1_c_mask, img_2_c_mask)
print(cv2.countNonZero(delta_mask))
if cv2.countNonZero(delta_mask) > 50:
subset.append(images[i+1])