Hi,
I had a stereo calibration pipeline built for regular (non fisheye) lenses that was working just fine (based on cv2.stereoCalibrate()
, etc.). Now I'm trying to adapt this procedure to fisheye cameras, using the corresponding fisheye
API. I incurred in other errors related to the shape of objectPoints and imagePoints, but apparently those were solved and individual camera calibration with cv2.fisheye.calibrate()
seems to be working.
Next, I moved to calibrating the fisheye camera rig, however, I'm stuck on the following error from cv2.fisheye.stereoCalibrate()
:
cv2.error: OpenCV(4.1.0) /home/massimo/repositories/opencv-4.1.0/modules/calib3d/src/fisheye.cpp:1023: error: (-215:Assertion failed) abs_max < threshold in function 'stereoCalibrate'
originating from the following failed assertion in fisheye.cpp
:
CV_Assert(abs_max < threshold); // bad stereo pair
According to the solution suggested in #67855 for the same error, I tried to use different subsets of the calibration images or even individual images, hoping to identify the image(s) causing the issue. However, all combinations I tried resulted in the same error. Besides, upon visual inspection the images look fine.
I'm trying to figure out why cv2.fisheye.stereoCalibrate()
rejects all images, but I don't understand how the assertion is evaluated and on what basis it determines that a stereo pair is bad.
Any idea on how to get rid of this error?
Thanks in advance!
Relevant system specifications:
- Ubuntu 18.04.2
- Python 3.6.7
- OpenCV 4.1.0 (compiled from source)