Хорошо, спасибо, Рахул за ваш ответ.
В итоге я нашел пакет, который помог мне трангулировать полигоны, который решил мою проблему.
скачать с:
pip install sect
Затем:
from sect.triangulation import constrained_delaunay_triangles
Возьмите контуры, созданные openCV - это сгенерирует их, как показано ниже.
Then "smooth" the colours so there are less of them. I've used this
epsilon = 0.005 * cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, epsilon, True)
then run it through sect
constrained_delaunay_triangles([tuple(x) for x in approx.squeeze()])
The output splits the polygons into triangles removing ALL concave polygons totally.
введите описание изображения здесь