Определение 3D-сцены из фотографии круга

Учитывая фото, содержащее круг, например, это фото фонтана: фото фонтана

Можно ли определить 3D положение и поворот фонтана относительно камеры?

Я понимаю, что мы должны определить масштаб, поэтому предположим, что фонтан имеет ширину 2 метра (диаметр круга, состоящего из внутреннего края фонтана, равен 2 метрам).

Таким образом, предполагая, что круг является идеальным кругом и определяя диаметр до 2 м, можно ли определить, как круг и камера пространственно связаны? Я не знаю ни одной матрицы камеры или чего-либо еще, единственная информация, которую я имею, это изображение.

Я специально хочу определить трехмерные координаты данного пикселя на ободе фонтана.

Каким будет математический и / или OpenCV-код для этого?

1 ответ

Круг с точки зрения - это эллипс. Таким образом, вы в основном вам нужен детектор эллипса. Этот алгоритм должен работать:

  1. Обнаружить все эллипсы в данном изображении.
  2. Фильтруйте эллипсы, которые, по вашему мнению, не являются кругами по происхождению. (Это невозможно при использовании только 1 камеры, поэтому вы должны зависеть от предыдущих знаний. Что-то вроде этого вы знаете, что делаете фотографию для круга).
  3. ммм я перестал печатать здесь, принес бумагу и ручку и начал придумывать, как оценить гомографию, а это не так просто! Вы должны разобраться с кругом в частном случае эллипса, а затем попытаться построить линейную систему уравнений. Тем не менее, я сделал быстрый поиск в Google:

https://www.researchgate.net/publication/265212988_Homography_estimation_using_one_ellipse_correspondence_and_minimal_additional_information

http://www.macs.hw.ac.uk/bmvc2006/papers/306.pdf

Кажется, очень интересная тема, я собираюсь сэкономить иногда на этом позже!

Другие вопросы по тегам