我想在离相机x、y、z米的地方增加一个虚拟对象。OpenCV有相机校准功能,但我不知道如何精确地提供以米为单位的坐标。
我尝试在Unity中模拟相机,但没有得到预期结果。
我设置了投影矩阵,然后在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;