Думаю, можно почитать сначала здесь:
https://docs.opencv.org/3.4/da/d22/tutorial_py_can...
Если увеличить толщину линии, получится удобный набор контуров
Потом здесь:
https://docs.opencv.org/3.4/dd/d49/tutorial_py_con...
Каждый контур можно обернуть в minAreaRect и, как минимум, нарисовать все эти прямоугольники, уже станет понятнее, что можно поменять в параметрах, чтобы заработало лучше
Другой вариант - можно искать прямоугольники с помощью houghLines:
https://docs.opencv.org/3.4/d6/d10/tutorial_py_hou...
Дальше дело за малым - выбрать подходящие прямоугольники по площади и сопоставить по углу поворота
Этот метод даст приблизительные координаты прямоугольников, за счет того, что там мы утолщали линии. Далее, зная цвета прямоугольников, при необходимости можно уточнить результат с помощью простого inRange
Прошу прощения, что слишком широко дал направление, но с этим уже можно работать