Я хочу увеличить виртуальный объект в точке x, y, z метров. OpenCV имеет функции калибровки камеры, но я не понимаю, как именно я могу дать координаты в метрах.Как найти матрицу камеры для расширенной реальности?
Я попытался имитировать камеру в единстве, но не получил ожидаемого результата.
Я установил матрицу проекции следующим образом и создаю единичный куб при z = 2,415 + 0,5. Где 2.415 - расстояние между глазом и плоскостью проекции (модель камеры Пинхол) Поскольку лицо куба находится в передней плоскости отсечения, а его размер - это единица, она не должна охватывать весь видовой экран?
Matrix4x4 m = new Matrix4x4();
m[0, 0] = 1;
m[0, 1] = 0;
m[0, 2] = 0;
m[0, 3] = 0;
m[1, 0] = 0;
m[1, 1] = 1;
m[1, 2] = 0;
m[1, 3] = 0;
m[2, 0] = 0;
m[2, 1] = 0;
m[2, 2] = -0.01f;
m[2, 3] = 0;
m[3, 0] = 0;
m[3, 1] = 0;
m[3, 2] = -2.415f;
m[3, 3] = 0;
Если вы установили m [3,2] = -1/2.415f и m [3,3] = 1 проекционная матрица работает правильно –