Мне нужна помощь в определении "внешних" угловых точек набора обнаруженных угловых точек.
Я реализовал преобразование hough в javascript, чтобы обнаружить линии на изображении с прямоугольником с деформированной перспективой. После некоторой фильтрации остались наиболее правдоподобные линии, и я вычислил точки их пересечения. В результате у меня есть набор точек, которые МОГУТ быть углами распознанного прямоугольника с деформированной перспективой (см. изображение): несколько линий с несколькими точками пересечения.
Что я хочу сделать прямо сейчас, так это выбрать фактическую угловую точку, проверив, какой из них является самым «внешним» углом прямоугольника с деформацией перспективы. Под внешними углами я подразумеваю углы, которые мы, люди, воспринимаем как «самые верхние левые» или «самые нижние правые».
Я уже пытался получить угловые точки фигуры, которые находятся ближе всего к углам изображения, но это не всегда самые «внешние» углы из-за крайних случаев перспективы.
- обнаруженные линии почти никогда не параллельны
- изображение вводится пользователем, поэтому положение, поворот и перспектива деформированного прямоугольника могут быть любыми.