cv::LevMarqSparse::bundleAdjust (Bug #3134)
Description
I'm developing a software to reconstruct objects from two cameras.
I'm using stereoCalibrate to calibrate the cameras. It works perfectly.
Once the calibration is done, I'm triangulating the points with
cv::triangulatePoints. The result is correct.
To improve the 3D points I'm using cv::LevMarqSparse::bundleAdjust to refine the 3D points and the cameras.
If I'm using the same image points as in the triangulatePoints the result becomes invalid. If I'm inverting the y position by im.heigh-p.y before using bundleAdjust the result is close to the input points.
It seems strange to invert the y position (bug ?) since I'm using only OpenCV functions
History
Updated by Christophe Glinel over 11 years ago
I resolved my bug. Instead of proving rotation matrices I provided rotation vectors.
Functions like solvePnp and projectPoints take rotation vectors. It will be easier if each function has the same interface for rotation parameters.
An assert at row 1024 of ba.cpp may be helpful to detect this error.
- Status changed from New to Cancelled