Я не знаю как по другому задать вопрос, поэтому прошу не судить строго... Мне нужно было найти порядок наложения друг на друга прямоугольников(пустых в середине). В начале я сделала функцию которая проверяла каждый пиксель, и если он был не черным, записывала его в словарь(цвета в формате RGB (255,0,0)) и запоминала координаты их углов как значение, то есть xmin xmax ymin ymax. Далее чтобы найти пересечение я сделала функцию, которая проверяет каждую сторону прямоугольников и если встречает другой цвет записывает в словарь(цвет текущего прямоугольника: другой цвет)
Получился такой словарь: {(0, 255, 255): (255, 255, 0), (255, 255, 0): (255, 0, 255), (0, 0, 255): (0, 255, 255), (255, 0, 0): (255, 255, 0), (0, 255, 0): (0, 0, 255), (255, 0, 255): ''}
Из этого словаря следует что (255, 255, 0) наложен на (0,255,255), цвет (255,0,255) наложен на (255, 255,0) и так далее, в конечном итоге их порядок равен: (255,0,0), (0,255,0), (0,0,255), (0,255,255), (255,255,0), (255,0,255)
Еще есть вариант записать в словарь в значения списки со цветами, которые находятся на каждом прямоугольнике, получается вот это: {(0, 255, 255): [(255, 255, 0)], (255, 255, 0): [(255, 0, 255), (255, 0, 255)], (0, 0, 255): [(0, 255, 255)], (255, 0, 0): [(255, 255, 0), (255, 255, 0), (0, 255, 0), (0, 255, 0)], (0, 255, 0): [(0, 0, 255), (0, 0, 255)], (255, 0, 255): ''}
Может кто-то сможет мне помочь, или у кого-то будут какие-то идеи как это можно сделать, я себе уже голову сломала, пробовав различные способы.