Здравствуйте, alexwin, Вы писали:
A>пробовал преобразование Хафа, искал 4 прямых, находил их пересечение, как бы работает, даже неплохо, но плохая точность, то ли из-за дискретности угла/радиуса, то ли еще чего
Ты отбросил данное тебе в задаче условие связи — это не просто произвольные 4 прямые, а они образуют прямоугольник. Можно использовать этот факт при использовании преобразования Хафа.
Обычный Хаф
отображает точки в плоскости (x, y) в синусоиды в двумерной области (θ, ρ) — (угол нормали с осью абсцисс, расстояние от начала координат). Это если искать фигуры типа «прямая». А тебе есть смысл искать фигуры типа «пара параллельных прямых». Тогда пространство Хафа станет трёхмерным: (θ, ρ₁, ρ₂) — (угол до нормали, расстояние до первой прямой, расстояние до второй прямой).