Skip to content

qanelph/LAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание для "ЛАН ПРОЕКТ"

Задача: загрузка и обработка полученных изображений карты от левой верхней координаты до правой нижней.

На выходе должно получиться изображение, содержащее всю запрашиваемую пользователем область.

Коэффициенты масштабирования (k):

  • 19 - здания (ближе)
  • 16 - улицы (дальше)

Решение задачи:

Изначально было решено загрузить все изображения в заданном пользователем масштабе, предварительно подобрав нужный шаг перемещения по карте. После того, как все изображения были получены, возник вопрос о том, какими средставми их лучше объединять.

Сперва я решил воспользоваться встроенным методом библиотеки cv2 — createStitcher().
Результаты на 3-5 изображениях были неплохие, но когда речь заходила об конкантинации > 50 кусочков, то тут встроенный ститчер не справлялся.

Тогда было решено выстроить логику объединения изображений на более низком уровне.

  1. Я воспользовался алгоритмом масштабно-инвариантной трансформации признаков (SIFT) для извлечения ключевых точек на двух соседних изображениях:
левое изображение правое изображение
  1. После выявления признаков, я рассчитал совпадения дескрипторов на обоих изображениях:
совпадения дескрипторов
alt text
  1. Выполнил слияние изображений, применя метод оценки параметров модели на основе случайных выборок (RANSAC), получил следующий результат:
результат слияния двух изображений

Таким образом мы объединяем все изображения одного ряда, а потом объединяем все столбцы.

оценка производительности алгоритмов

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages