Причина этой проблемы в том, что вы используете cv::RETR_TREE
в качестве режима поиска контура . Этот режим как документация говорит:
CV_RETR_TREE извлекает все контуры и восстанавливает полную иерархию вложенных контуров.
Итак, в вашей линии вы находите внутреннюю и внешнюю линию главной линии. В этом случае может быть решением использовать (только для внешней линии) CV_RETR_EXTERNAL вместо CV_RETR_TREE .
CV_RETR_EXTERNAL восстанавливает только крайние внешние контуры.