Я пытаюсь извлечь матрицу камеры из необходимой матрицы. Я нашел несколько ответов об этом.Матрица матрицы из основной матрицы
determine camera rotation and translation matrix from essential matrix
Rotation and Translation from Essential Matrix incorrect
В этих ответах, они предлагают мне использовать newE
где [U,S,V] = svd(E)
и newE = U*diag(1,1,0)*Vt
. Я не понимаю, почему мне нужно использовать newE
. Как я знаю, уникальные значения уникальны. Поэтому изменение особых значений до diag(1,1,0)
, по-видимому, делает E
совершенно разными значениями.
Я также читал «Многомерную геометрию зрения в компьютерном зрении», но он просто относится к идеальному случаю, то есть к сингулярным значениям относятся (1,1,0). Я не нашел причины использовать newE
.
Пожалуйста, объясните мне, почему люди используют newE
?
Спасибо за ваш ответ. Таким образом, ограничения могут быть удовлетворены, но результат кажется неправильным. Является ли результат довольно надежным? – Bahamut