с основным прямоугольным объектом, в изображении также есть побочные.
При определении внешних контуров в контур основного объекта добавляется контур лишнего объекта.
Каким алгоритмом можно вычесть лишние точки, чтобы получилось 4 и контур стал прямоугольным?
В первом случае определилось 4 точки, во втором 9.
Вычитаю контуры лишних объектов расчетом размеров определившего объекта.
https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm
или же написать кастомщину, которая проверяет угол. Если угол между 1 и 2 линией около 90, а между 2 и 3 - далек от 90, тогда нужно убрать 2 точку, и так по кругу.
Рискну предложить костыль на перебор всех четвёрок точек из твоего набора, проверку углов между соседними (от 90-t до 90+t), из всех таких выбираешь с максимальной площадью
Обсуждают сегодня