Вы не определили, что вы подразумеваете под «другим», поэтому я просто укажу два возможных источника различий, которые приходят на ум. Обозначим матрицу встроенных c параметров через K
.
Первое возможное различие может быть просто из-за разницы в масштабировании. Если во второй раз вы оцениваете свою собственную матрицу, вы получите матрицу
K_2=lambda*K
, тогда это не будет иметь никакого значения при проецировании или перепроецировании, поскольку для любой трехмерной точки X
у вас будет
K_2*X=K*lambda*X //X is the same as lambda*X in projective geometry
То же самое происходит при обратном проектировании точки: вы просто получаете направление, и тогда ваш алгоритм оценки ( например наименьших квадратов или более простое решение геометрии c) принимает осторожность в оценке глубины.
Вторая причина различий, которую вы наблюдаете, может быть связана с численными неточностями. Поскольку вы не предоставили никакой информации о величине разницы, я не уверен, относится ли это к вашему делу.