Hello,
I'm currently using the GUI option on CameraCalibrationStereo from the applications.jar to obtain calibration information for a stereo camera, running it via:
java -jar applications.jar CameraCalibrationStereo --VerboseDebug --GUI
I fed 20 captured image pairs into the Planar Stereo Calibration GUI, and was able to get out StereoParameters from the 'Calib' tab in the left side-bar:
StereoParameters
left=CameraPinholeRadial
fx=1465.7593831055951
fy=1466.139339338661
skew=0.0
cx=1045.0777859204775
cy=587.0033976856058
width=1920
height=1200
r0= .090613402 r1=-.149851575
right=CameraPinholeRadial
fx=1463.8278252677048
fy=1464.93711199008
skew=0.0
cx=1032.2696093351494
cy=561.7504063956554
width=1920
height=1200
r0= .105780261 r1=-.170300821
right_to_left=
p=
3.04377078 -.023742569 .0208924
q=
.007760093 -.005254133 -.001686263 .999954665
However, when I go to the 'Stats' tab to obtain the Reprojection Error, I get NaN values for almost all of the mean and max errors for the majority of the captures:
Metrics left right
quality.fill_border 60% 58%
quality.fill_inner 100% 99%
quality.geometric 100% 100%
Reprojection Errors (px):
mean=NaN max=NaN
image | max (px)
capture_000.png NaN
NaN
capture_001.png NaN
NaN
capture_002.png NaN
NaN
capture_003.png NaN
NaN
capture_004.png NaN
NaN
capture_005.png NaN
NaN
capture_006.png NaN
NaN
capture_007.png 21354961.144
NaN
capture_008.png NaN
NaN
capture_009.png NaN
NaN
capture_010.png NaN
NaN
capture_011.png NaN
NaN
capture_012.png NaN
NaN
capture_013.png NaN
NaN
capture_014.png NaN
NaN
capture_015.png NaN
NaN
capture_016.png NaN
NaN
capture_017.png NaN
NaN
capture_018.png NaN
NaN
capture_019.png NaN
NaN
My suspicion is that the actual errors are indeed being measured, since I see the error circles when the Error Visual Flag is checked, but that they may not be returned by computeErrors() in CalibrateStereoPlanar.java (line 359 onward) when ran by computeQualityText (Line 304). However, when running with verboseDebug, I did not get any output from the terminal I ran CameraCalibrationStereo from.
I tried doing a lookup for NaN and computeErrors both here in the BoofCV group, and with the search function on
https://boofcv.org but did not find anything. Any locations in the source I should look in to try and find the issue, or if its something as simple as I needed to take more images, would be appreciated. I can provide images or the yaml results if needed.
Thanks,
Chris