Hello,
I want to find a frame to frame pose. For that suppose, 1. I have frame1 and frame2.
- I have 2D image points of frame1 and frame2.
- Also i have 3D object points (xc, yc, zc) of frame1 and frame2 with respect to camera from (http://fsr.utias.utoronto.ca/submissions/FSR_2015_submission_14.pdf) link.
Now My question is,
- What will be the input of solvePnPRansac() ? it should be the same frame or different frame ?
What will be my output if i am passing input 3D point of frame1 and 2D point of frame2 to solvePnPRansac() . (If i am doing for different frame it's give me error : OpenCV Error: Assertion failed (npoints >= 0 && npoints == std::max(ipoints.checkVector(2, CV_32F), ipoints.checkVector(2, CV_64F))) in solvePnPRansac, file /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/calib3d/src/solvepnp.cpp, line 233 terminate called after throwing an instance of 'cv::Exception' what(): /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/calib3d/src/solvepnp.cpp:233: error: (-215) npoints >= 0 && npoints == std::max(ipoints.checkVector(2, CV_32F), ipoints.checkVector(2, CV_64F)) in function solvePnPRansac )
What will be my output if i am passing input 3D point and 2D point of same frame(frame1, frame2, ..) .
- How can i get resultant transformation? what is the correct way?