OpenCV: перенос изображения в цилиндрические координаты - PullRequest
2 голосов
/ 20 декабря 2010

Я пытаюсь создать панорамное изображение, используя библиотеку opencv.Исходя из этого , мне нужно деформировать изображение в цилиндрические координаты.Я получил формулу для преобразования трехмерной декартовой (X, Y, Z) в цилиндрическую координату (θ, v) из бумаги Panoramic Image Mosaic, которая:

  θ = tan−1 (X/Z)

  v = Y/ √ (X^2 + Z^2)

Я прочитал ветку списка рассылки opencv оцилиндрическое изображение деформируется, но, основываясь на бумаге, я не думаю, что мне нужно использовать калибровочную матрицу камеры.И на сайте проблема не решена.Вопрос в том, как мы можем преобразовать opencv IplImage в цилиндрическую координату и правильно их отобразить?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2010

Если у вас достаточно изображений с достаточным перекрытием (> 90% -95%), вы можете пропустить калибровку, взяв узкие вертикальные срезы в середине каждого изображения и соединив их вместе.В зависимости от стабильности работы вашей камеры, вам может потребоваться скорректировать вертикальное и вращательное движение камеры между изображениями, сопоставляя перекрывающиеся части.Если у вас очень хороший объектив, вы можете обойтись без меньшего наложения.

Эта статья является хорошей отправной точкой.

0 голосов
/ 20 декабря 2010

К сожалению, вам нужна калибровка камеры, если вы хотите деформировать изображение из декартовой системы координат в цилиндрические.

Подумай об этом. Если камера не откалибрована, значит, вы не знаете, что такое поле зрения камеры. Если у вас нет поля зрения, то вы не можете отобразить пиксели на оптические лучи. Если вы не знаете, какой оптический луч соответствует вашему пикселю, вы не сможете выразить этот пиксель в цилиндрических координатах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...