I'm estimating the distance from camera to a chessboard. However, the error is increasing linearly as long as I get far from the pattern. Is that normal? How can I correct that error?
I corrected that error using a simple linear equation and it works but it doesn't depend on camera parameter as I believe it should be, so the correction will be robust: error = 72.51+distNorme*0.0278;
I compute the distance from the Chessboard using OpenCV and my camera parameters following those steps:
1- findChessboardCorners
2- solvePnP
3- ->Distance from the translation vector given by solvePnP
I'll be also interested in correcting the rotation and the translation errors later on when I'll have better pattern for tracking
I'll write an answer to the issue after doing some experiments. I corrected my distance as follow:
Distance_corrected = distNorme+distNorme*correction
distNorme
is the distance to the chessboard which is the norm of the translation vector given by solvePnP
OpenCV function.
correction
is
correction=pixel_size/focal_mm/2 = 2/focal_pixel
The results are better, still have an error increasing linearly though but not very strong as distNorme
(distance not corrected).
I'm still seeking for references or documentation of that correction
error. I need more details about it.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.