Искам да направя някаква структура от движение с помощта на OpenCV. Това трябва да се случи на Android. В момента разполагам с cameraMatrix (вътрешни параметри) и коефициентите на изкривяване от калибрирането на камерата.
Сега потребителят трябва да вземе 2 изображения от сградата и приложението трябва да генерира pointcloud. Забележка: потребителят може също така да завърти леко камерата на смартфона, докато се движи от едната страна на сградата...
Към настоящия момент имам следната информация:
- неизкривеното ляво изображение
- неизкривеното дясно изображение
- списък с добри съвпадения с помощта на SIFT
- хомографската матрица
- фундаменталната матрица
Търсих в интернет и сега съм много объркан как да продължа... Някои казват, че трябва да използвам stereoRectify за получаване на Q и да използвам Q с reprojectImageTo3D() за получаване на pointCloud.
Други казват, че трябва да използвам stereoRectifyUncalibrated и да използвам H1 и H2 от този метод, за да запълня всички параметри на triangulatePoints. В triangulatePoints имам нужда от projectionMatrix на всяка камера/изображение, но според моите разбирания това изглежда определено погрешно.
Така че за мен има някои проблеми:
- Как да получа R и T (завъртане и транслация) от цялата информация, която вече имам
- Ако използвам stereoRectify, първите 4 параметъра са cameraMatrix1, distortionCoeff1, cameraMatrix2, distortionCoeff2) - Ако нямам стереокамера като Kinect, равни ли са ameraMatrix1 и cameraMatrix2 за моята настройка (моно камера на смартфон)
- Как мога да получа Q (предполагам, че ако имам R и T, мога да го получа от stereoRectify)
- Има ли друг начин за получаване на projectioMatrices за всяка камера, за да мога да използвам метода на триангулация, предоставен от OpenCV
Знам, че това са много въпроси, но гугълът ме обърка, така че трябва да изясня нещата. Надявам се някой да ми помогне с проблемите ми.
Благодаря
PS, тъй като това са по-теоретични въпроси, не публикувах някакъв код. Ако искате/трябва да видите кода или стойностите на калибрирането на камерата ми, просто попитайте и аз ще ги добавя към публикацията си.