Quiero aumentar un objeto virtual en x, y, z metros wrt cámara. OpenCV tiene funciones de calibración de cámara, pero no entiendo exactamente cómo puedo dar coordenadas en metros¿Cómo encontrar la matriz de la cámara para la realidad aumentada?
Intenté simular una cámara en Unity pero no obtuve el resultado esperado.
Configuro la matriz de proyección de la siguiente manera y creo un cubo de unidad en z = 2.415 + 0.5. Donde 2.415 es la distancia entre el ojo y el plano de proyección (modelo de cámara estenopeica) Dado que la cara del cubo está en el plano de recorte frontal y su dimensión es unidad, ¿no debería cubrir toda la ventana gráfica?
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;
Si configura m [3,2] = -1/2.415f ym [3,3] = 1 la matriz de proyección funciona correctamente –