slambook_python
slambook_python copied to clipboard
Python implements of some of the projects/files in [slambook](https://github.com/gaoxiang12/slambook).
Python implements of some of the projects/files in slambook.
SOME NOTES:
-
image color and corresponding difference,
im1 = cv2.imread(im1_file)andim1 = cv2.imread(im1_file, 0). Or the color space (RGB, BGR) and the consequences. -
inner points in findFundamentalMat, when it is not the same as the input num?
-
when we calc Fundamental Matrix
pts1 = np.int32(pts1) and pts1 = np.array(pts1) will lead to very different answers, so, which is better??
Use np.array(pts1) or np.float32(pts1)
- Matrix manipulation in C++ and python
[Opencv中Mat矩阵相乘——点乘、dot、mul运算详解](http://blog.csdn.net/dcrmg/article/details/52404580
arr = [[1,2,3],[4,5,6]]
a = np.array(arr)
b = np.array(arr)
C++ python
* dot
a*b.t() a.dot(b.T) or np.dot(a,b.T)
dot * -> sum
a.dot(b) (a*b).sum()
mul *
a.mul(b) a*b
So, C++: E = K2.t () * F * K1;
python: E = K2.T.dot(F).dot(K1)
-
The corresponding relationship between F,E and H
This function decomposes an essential matrix using decomposeEssentialMat and then verifies possible pose hypotheses by doing cheirality check. The cheirality check basically means that the triangulated 3D points should have positive depth. Some details can be found in [119] .
-
check_solutions(fp, sp, K, R1, R2, t): should have same result as recoverPose, but without good luck
-
some notes online
-
The usage of 3xN and Nx3
-
findFundamentalMat, findEssentialMat all have
maskreturn value and meansinner points, we should take care of them