This forum is disabled, please visit https://forum.opencv.org

2016-07-29 07:52:23 -0600 | asked a question | OpenCV Projection Matrix Choice Hi, I am currently facing a problem, to depict you what my programm does and should do, here is the copy/paste of the beginning of a previous post I've made. This program lies on the classic "structure from motion" method. The basic idea is to take a pair of images, detect their keypoints and compute the descriptors of those keypoints. Then, the keypoints matching is done, with a certain number of tests to insure the result is good. That part works perfectly. Once this is done, the following computations are performed : fundamental matrix, essential matrix, SVD decomposition of the essential matrix, camera projection matrices computation and finally, triangulation. The result for a pair of images is a set of 3D coordinates, giving us points to be drawn in a 3D viewer. This works perfectly, for a pair. However, I have to perform a step manually, and this is not acceptable if I want my program to efficiently work with more than two images. Indeed, I compute my projection matrices according the classic method, as follows, at paragraph "Determining R and t from E" : https://en.wikipedia.org/wiki/Essenti... I have then 4 possible solutions for my projection matrix. I think I have understood the geometrical point of view of the problem, portrayded in this Hartley and Zisserman paper extract (chapters 9.6.3 and 9.7.1) : http://www.robots.ox.ac.uk/~vgg/hzboo... Nonetheless, my question is : Thanks for reading. |

2016-07-26 03:07:17 -0600 | asked a question | OpenCV Structure from Motion Reprojection Issue I am currently facing an issue with my Structure from Motion program based on OpenCv. I'm gonna try to depict you what it does, and what it is supposed to do. This program lies on the classic "structure from motion" method. The basic idea is to take a pair of images, detect their keypoints and compute the descriptors of those keypoints. Then, the keypoints matching is done, with a certain number of tests to insure the result is good. That part works perfectly. Once this is done, the following computations are performed : fundamental matrix, essential matrix, SVD decomposition of the essential matrix, camera matrix computation and finally, triangulation. The result for a pair of images is a set of 3D coordinates, giving us points to be drawn in a 3D viewer. This works perfectly, for a pair. Indeed, here is my problem : for a pair of images, the 3D points coordinates are calculated in the coordinate system of the first image of the image pair, taken as the reference image. When working with more than two images, which is the objective of my program, I have to reproject the 3D points computed in the coordinate system of the very first image, in order to get a consistent result. My question is : How do I reproject 3D points coordinate given in a camera related system, into an other camera related system ? With the camera matrices ? My idea was to take the 3D point coordinates, and to multiply them by the inverse of each camera matrix before. I clarify : Suppose I am working on the third and fourth image (hence, the third pair of images, because I am working like 1-2 / 2-3 / 3-4 and so on). I get my 3D point coordinates in the coordinate system of the third image, how do I do to reproject them properly in the very first image coordinate system ? I would have done the following : Get the 3D points coordinates matrix, apply the inverse of the camera matrix for image 2 to 3, and then apply the inverse of the camera matrix for image 1 to 2. Is that even correct ? Because those camera matrices are non square matrices, and I can't inverse them. I am surely mistaking somewhere, and I would be grateful if someone could enlighten me, I am pretty sure this is a relative easy one, but I am obviously missing something... Thanks a lot for reading :) |

2016-06-21 02:35:48 -0600 | received badge | ● Enthusiast |

2016-06-10 02:52:56 -0600 | asked a question | Interpreting Valgrind results about a 3D reconstruction program Hi, I was running Valgrind to check memory leaks in my 3D reconstruction program, coded in C++/C and using Opencv 2.4.13. So here are some results I have trouble to interpret. First, all issues concern "possibly lost" memory, but I still want to treat them as critical issues, to ensure the quality and fiability of the programm. The two main issues I am trying to solve are the following ones : That's why I was wondering : do I have to ... (more) |

Copyright OpenCV foundation, 2012-2018. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.