mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
Merge branch 4.x
This commit is contained in:
@@ -769,6 +769,22 @@
|
||||
number = {8},
|
||||
publisher = {IOP Publishing Ltd}
|
||||
}
|
||||
@article{Lourakis2009_sba,
|
||||
author = {Lourakis, Manolis I. A. and Argyros, Antonis A.},
|
||||
title = {SBA: A Software Package for Generic Sparse Bundle Adjustment},
|
||||
year = {2009},
|
||||
month = mar,
|
||||
journal = {ACM Transactions on Mathematical Software},
|
||||
volume = {36},
|
||||
number = {1},
|
||||
articleno = {2},
|
||||
pages = {2:1--2:30},
|
||||
numpages = {30},
|
||||
publisher = {Association for Computing Machinery},
|
||||
doi = {10.1145/1486525.1486527},
|
||||
url = {https://scispace.com/pdf/sba-a-software-package-for-generic-sparse-bundle-adjustment-1d4hp0z31z.pdf},
|
||||
month_numeric = {3}
|
||||
}
|
||||
@article{LowIlie2003,
|
||||
author = {Kok-Lim Low, Adrian Ilie},
|
||||
year = {2003},
|
||||
@@ -1253,6 +1269,20 @@
|
||||
publisher = {Taylor \& Francis},
|
||||
url = {https://www.olivier-augereau.com/docs/2004JGraphToolsTelea.pdf}
|
||||
}
|
||||
@incollection{Triggs2000_bundle_adjustment,
|
||||
author = {Triggs, Bill and McLauchlan, Philip F. and Hartley, Richard I. and Fitzgibbon, Andrew W.},
|
||||
title = {Bundle Adjustment---A Modern Synthesis},
|
||||
booktitle = {Vision Algorithms: Theory and Practice},
|
||||
year = {2000},
|
||||
pages = {298--372},
|
||||
publisher = {Springer},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {1883},
|
||||
editor = {Triggs, Bill and Zisserman, Andrew and Szeliski, Richard},
|
||||
doi = {10.1007/3-540-44480-7_21},
|
||||
isbn = {978-3-540-67973-8},
|
||||
url = {https://www.cs.jhu.edu/~misha/ReadingSeminar/Papers/Triggs00.pdf}
|
||||
}
|
||||
@article{Tsai89,
|
||||
author = {R. Y. Tsai and R. K. Lenz},
|
||||
journal = {IEEE Transactions on Robotics and Automation},
|
||||
|
||||
@@ -206,17 +206,17 @@ Re-projection Error
|
||||
|
||||
Re-projection error gives a good estimation of just how exact the found parameters are. The closer the re-projection error is to zero, the more accurate the parameters we found are. Given the intrinsic, distortion, rotation and translation matrices,
|
||||
we must first transform the object point to image point using **cv.projectPoints()**. Then, we can calculate
|
||||
the absolute norm between what we got with our transformation and the corner finding algorithm. To
|
||||
find the average error, we calculate the arithmetical mean of the errors calculated for all the
|
||||
calibration images.
|
||||
the norm between what we got with our transformation and the corner finding algorithm. To find the
|
||||
RMSE (root mean squared error), we average the squared errors over all points and images, then take
|
||||
the square root.
|
||||
@code{.py}
|
||||
mean_error = 0
|
||||
for i in range(len(objpoints)):
|
||||
imgpoints2, _ = cv.projectPoints(objpoints[i], rvecs[i], tvecs[i], mtx, dist)
|
||||
error = cv.norm(imgpoints[i], imgpoints2, cv.NORM_L2)/len(imgpoints2)
|
||||
error = cv.norm(imgpoints[i], imgpoints2, cv.NORM_L2SQR) / len(imgpoints2)
|
||||
mean_error += error
|
||||
|
||||
print( "total error: {}".format(mean_error/len(objpoints)) )
|
||||
print( "total error: {}".format(np.sqrt(mean_error/len(objpoints))) )
|
||||
@endcode
|
||||
|
||||
Exercises
|
||||
|
||||
Reference in New Issue
Block a user