Я хочу найти координату камеры из координаты пикселя/экрана, используя opencv.Могу ли я преобразовать координату экрана в координату камеры, используя эту процедуру?
Предположим, что мои камеры откалиброваны, и у меня есть внутренний параметр (матрица с фокусным расстоянием и основной точкой) и внешний параметр (матрица поворота и преобразования) с использованием opencv. Тогда this website для 3d реконструкции с OpenCV говорит:
s * [q 1]^{Transpose} = [K] * [([R] * P) + T]
где [q]
координата 2d пикселя, s = 1
, K
является (3x3
) внутренняя матрица, R
является (3x3
) матрица вращения, P
является (3x1
) в мировой координате и T
- матрица преобразования (3x1
).
Итак:
[R]^{-1} * ([ [K]^{-1} * [q 1 ]^{Transpose} ] - [T]) = [P]
И потом:
[U] = ([R] * [P]) + [T]
где [U]
есть (3x1
) в камере координат. Итак, теперь [q]
, который находится в пиксельной координате, будет преобразован в координату камеры [U]
.
Могу ли я преобразовать координату пикселя в координату камеры? Является ли матрица вращения ([R]
) или внутренняя матрица ([K]
) всегда обратимой? Или там, где матрица вращения и/или внутренняя матрица не могут быть инвертированы?
Можно ли это подтвердить?
Спасибо Василе за вашу помощь. Я попробую сам. Еще раз спасибо. – mvr950