2016-12-28 00:43:29 -0600 | received badge | ● Student (source) |
2015-06-21 09:54:01 -0600 | received badge | ● Editor (source) |
2015-06-20 23:53:45 -0600 | asked a question | OpenCV: Essential Matrix SVD decomp Hi Folks, I am trying to get camera motion vector based on OpenCV Optical Flow. I use C# wrapper for Unity of OpenCV 2.4.10, but it is just wrapper Here is the test case:
so i have features pointsPrev and pointsThis4. Use to verify flow for points, then I make sure analyzing status and err arrays, so my pointsPrev and pointsThis are identical pairs of points in image pixel coordinates5. Select first 8 pairs from pointsPrev and poitsThis (simply trunc arrays), then get Fundamental Matrix: . When points in all the pairs are identical (no motion) - it gives me 3x3 matrix with all zeros, I suggest that is correct (or?)6. Then getting Essential Matrix based on E = K'.(t) * F * K according to HZ 9.12, I have one camera, so K' = K.
when F = |0|, then E = |0| as well
8. Analyzing W, U, VT output matrices, I can observe these values: W: 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 U: -0.577, -0.408, -0.707, -0.577, -0.408, 0.707, 0.577, -0.816, 0.000 Vt: 1.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 1.000 I suggest these values are strange, as according to books/manuals camera translation vector is U.col(2) is Vector3(-0.7071, 0.7071, 0) that is not correct. Other observations, when I test for different image frames:
I do really need your help, thank you in advance! That is the copy of my question on StackOverflow : http://stackoverflow.com/questions/30... Kind Regards, Eugene EDIT 1: Additional observations Then I tried to find the Fund matrix for these frame poits: (more) |