Параметры камеры Webot по умолчанию, такие как размер пикселя и фокус - PullRequest
1 голос
/ 02 мая 2020

Я использую две камеры без объектива или любые другие настройки в webot для измерения положения объекта. Чтобы применить локализацию, мне нужно знать длину фокусировки, которая составляет расстояние от центра камеры до центра плоскости изображения , а именно f. Я вижу параметр фокусировки в узле камеры, но когда я устанавливаю его в значение NULL по умолчанию, изображение остается нормальным. Поэтому я считаю, что этот параметр не имеет отношения к f. Кроме того, мне нужно знать ширину и высоту пикселя в изображении, а именно dx и dy соответственно. Но я понятия не имею, как получить эту информацию. enter image description here

Это модель калибровки, которую я использовал, где c означает камеру, а w означает мировую координату. Мне нужно рассчитать xw, yw, zw из u, v. Для идеальной камеры гамма равна 0, u0, v0 - это только половина разрешения. Так что мои проблемы существуют в FX и FY.

1 Ответ

1 голос
/ 04 мая 2020

Первая важная вещь, которую нужно знать, это то, что в Webots пиксели квадратные, поэтому dx и dy эквивалентны.

Затем в узле камеры вы найдете 'fieldOfView', который будет дать вам горизонтальное поле зрения, используя разрешение камеры, а затем вычислить вертикальное поле зрения:

 2 * atan(tan(fieldOfView * 0.5) / (resolutionX / resolutionY))

Наконец, вы также можете получить плоскость ближней проекции из поля «ближний» узла Камера.

Обратите также внимание, что камеры Webots являются обычными камерами OpenGL, поэтому вы можете найти дополнительную информацию о матрице проекции OpenGL, например: http://www.songho.ca/opengl/gl_projectionmatrix.html

...