Я хочу сделать некоторую структуру из движения, используя OpenCV. Это должно произойти на Android. В настоящее время у меня есть cameraMatrix (внутренние параметры) и коэффициенты искажения от калибровки камеры.
Теперь пользователь должен взять 2 изображения из здания, и приложение должно сгенерировать облако точек. Примечание: пользователь может также немного поворачивать камеру смартфона, когда он движется вдоль одной из сторон здания...
На данный момент у меня есть следующая информация:
- неискаженное левое изображение
- неискаженное правое изображение
- список хороших совпадений с использованием SIFT
- матрица гомографии
- фундаментальная матрица
Я искал в Интернете, и теперь я очень смущен, как мне действовать... Некоторые говорят, что мне нужно использовать StereoRectify для получения Q и использовать Q с reprojectImageTo3D() для получения pointCloud.
Другие говорят, что мне нужно использовать StereoRectifyUnCalibrated и использовать H1 и H2 из этого метода, чтобы заполнить все параметры triangulatePoints. В triangulatePoints мне нужна проекцияMatrix каждой камеры/изображения, но, насколько я понимаю, это кажется определенно неправильным.
Итак, для меня есть некоторые проблемы:
- Как мне получить R и T (вращение и перемещение) из всей имеющейся у меня информации
- Если я использую StereoRectify, первые 4 параметра — это cameraMatrix1, DistortionCoeff1, cameraMatrix2, DistortionCoeff2). Если у меня нет стереокамеры, такой как Kinect, ameraMatrix1 и cameraMatrix2 равны для моей настройки (монокамера на смартфоне)
- Как я могу получить Q (угадайте, если у меня есть R и T, я могу получить его от StereoRectify)
- Есть ли другой способ получить projectioMatrices для каждой камеры, чтобы я мог использовать метод триангуляции, предоставляемый OpenCV
Я знаю, что вопросов много, но гугление меня смутило, поэтому мне нужно разобраться. Я надеюсь, что кто-то может помочь мне с моими проблемами.
Спасибо
PS, так как это больше теоретические вопросы, я не публиковал какой-то код. Если вы хотите/нужно увидеть код или значения калибровки моей камеры, просто спросите, и я добавлю их в свою публикацию.