Я работаю над небольшим проектом, который "сканирует" листы бумаги с помощью камеры (особенно камеры iPhone).
Рабочий процесс:
Позволяет пользователям делать снимки листовпока я буду определять углы / контур, чтобы я знал 4 угловые точки исходного листа бумаги на фотографии.После этого можно легко изменить перспективное преобразование камеры, чтобы получить «плоское» изображение сфотографированного листа бумаги.
Однако мой вопрос: как мне сохранить или даже сохранитьрассчитать правильное (оригинальное) соотношение сторон?
![Image of UI with detected corners of sheet of paper (can't post images, sorry)](https://i.stack.imgur.com/AjFTn.png)
Как вы можете видеть выше, у меня есть координаты угловых точек, и я также знаю, как построить матрицу для отображения вершинылевый угол до точки (0,0), верхний правый угол (ширина, 0), нижний правый угол (ширина, высота) и нижний левый угол (0, высота).
Вопрос теперь: Как получить правильное соотношение сторон ширины / высоты, которое изначально имел лист бумаги.Я почти уверен, что могу понять это, используя углы для определения трансформации перспективы, но я застрял в поиске правильной формулы.У меня также есть предчувствие, что мне также понадобится фокусное расстояние камеры, но было бы замечательно не нуждаться в этом.
Любые идеи будут оценены.