Miroff
Нужно генерировать контуры с запасом по площади, а потом отрезать лишнее. Т.е. для одного квадрата градус на градус склеивать 9 квадратов, а потом вырезать один из центра. Тогда стыки будут правильные.
Спасибо, отличный совет. Что-то подобное видел в python-скриптах на GitHub но не понимал зачем.
Но это такой колохоз...
Наверное это болячка многих open-source проектов: вроде работает на примерах а задачи работать на заданных (максимальных) объемах данных в определенных ограничениях (по памяти например) нет (и тестировщиков на зарплате нет).