Chcę powiększyć wirtualny obiekt na x, y, z metrze kamery wrt. OpenCV ma funkcje kalibracji kamery, ale nie rozumiem, jak dokładnie mogę podać współrzędne w metrachJak znaleźć matrycę kamery dla rozszerzonej rzeczywistości?
Próbowałem symulować kamerę w Unity, ale nie otrzymam oczekiwanego wyniku.
Ustawiam macierz rzutowania w następujący sposób i utworzę sześcian jednostkowy przy z = 2,415 + 0,5. Gdzie 2.415 to odległość między okiem a płaszczyzną rzutowania (kamera otworkowa) Ponieważ powierzchnia sześcianu znajduje się na przedniej płaszczyźnie obcinania, a jej wymiary to jednostka, czy nie powinna ona obejmować całej rzutni?
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;
Jeśli ustawisz m [3,2] = -1/2,415f a m [3,3] = 1 macierz projekcji działa poprawnie –