Определение 3D-сцены из фотографии круга
Учитывая фото, содержащее круг, например, это фото фонтана:
Можно ли определить 3D положение и поворот фонтана относительно камеры?
Я понимаю, что мы должны определить масштаб, поэтому предположим, что фонтан имеет ширину 2 метра (диаметр круга, состоящего из внутреннего края фонтана, равен 2 метрам).
Таким образом, предполагая, что круг является идеальным кругом и определяя диаметр до 2 м, можно ли определить, как круг и камера пространственно связаны? Я не знаю ни одной матрицы камеры или чего-либо еще, единственная информация, которую я имею, это изображение.
Я специально хочу определить трехмерные координаты данного пикселя на ободе фонтана.
Каким будет математический и / или OpenCV-код для этого?
1 ответ
Круг с точки зрения - это эллипс. Таким образом, вы в основном вам нужен детектор эллипса. Этот алгоритм должен работать:
- Обнаружить все эллипсы в данном изображении.
- Фильтруйте эллипсы, которые, по вашему мнению, не являются кругами по происхождению. (Это невозможно при использовании только 1 камеры, поэтому вы должны зависеть от предыдущих знаний. Что-то вроде этого вы знаете, что делаете фотографию для круга).
- ммм я перестал печатать здесь, принес бумагу и ручку и начал придумывать, как оценить гомографию, а это не так просто! Вы должны разобраться с кругом в частном случае эллипса, а затем попытаться построить линейную систему уравнений. Тем не менее, я сделал быстрый поиск в Google:
http://www.macs.hw.ac.uk/bmvc2006/papers/306.pdf
Кажется, очень интересная тема, я собираюсь сэкономить иногда на этом позже!