cv2.waitKey(0) cv2.destroyAllWindows() # Compute F vo = VisualOdometry() [match.good_kp1, match.good_kp2] = vo.EstimateF_multiprocessing(match.good_kp1, match.good_kp2) print "good_kp1", len(match.good_kp1) print "good_kp2", len(match.good_kp2) #sk = np.array([[0, -vo.e[2], vo.e[1]], [vo.e[2], 0, -vo.e[0]], # [-vo.e[1], vo.e[0], 0]]) #vo.P_from_F(vo.F) #vo.create_P1() print "prev F", vo.F #vo.optimal_triangulation(match.good_kp1, match.good_kp2) # error = vo.functiontominimize(match.good_kp1, match.good_kp2) vo.minimize_cost(match.good_kp1, match.good_kp2) print "optF", vo.F vo.E_from_F() print "Essential", vo.E vo.FindEssentialRansac(match.good_kp2, match.good_kp2) print "Essential2", vo.E print "mask", vo.maskE