1 of 10

Определение расстояния до красного прямоугольника, расстояния между двумя красными прямоугольниками

Выполнили:

Ташкинов Михаил

Чусовитин Денис

2 of 10

Этапы работы алгоритма

  • Нахождение контура прямоугольника
  • Нахождение прямых, соответствующих сторонам прямоугольника
  • Вычисление расстояния до прямоугольника
  • Вычисление расстояния между прямоугольниками

3 of 10

Перевод в цветовое пространство HSV

Тон

Насыщенность

Яркость

4 of 10

Бинаризация по красному цвету

5 of 10

Нахождение контуров

6 of 10

Преобразование Хафа для поиска линий

7 of 10

Классификация линий по сторонам

  • По углу делим на противоположные стороны (белые - синие, красные - зелёные)
  • Находим точки пересечения прямых из класса белые - синие с одной прямой из класса красные - зелёные
  • По точкам пересечения разделяем прямые на стороны
  • Аналогично для зелёные - красные

8 of 10

Вычисление сторон

  • Среди прямых каждой стороны находим среднюю. Считаем это стороной прямоугольника.

9 of 10

Вычисление расстояния

  • Пусть (u0, v0), (u1, v1), (u2, v2) - вершины прямоугольника на изображении
  • (x0, y0, z0), (x1, y1, z1), (x2, y2, z2) - вершины относительно камеры
  • Зная размеры прямоугольника, составим систему уравнений: (xi - xi+1)2 + (yi - yi+1)2 + (zi - zi+1)2 = li, i = 0..2
  • С помощью формул проектирования координат (f * xi / zi + cx = ui, f * yi / zi + cy = vi) сократим количество переменных до 3-х
  • Далее решаем её и находим центр прямоугольника

10 of 10

Результат