Ich verwende OpenCV calibrateCamera()
, um distCoeffs
abzurufen, die ich als Eingabe für stereoCalibrate()
verwenden möchte. Aber Aufruf stereoCalibrate() gibt mir die folgende Fehlermeldung:openCV stereoCalibrate - Assertion fehlgeschlagen (D1.empty() || (D1.total() == 4))
OpenCV Fehler: Assertion failed (D1.empty() || (D1.total() == 4)) in stereoCalibrate
Debugging sagt mir, dass D1.total() ist 5 und das ist nicht leer. Ich habe distCoeffs
(D1) nicht geändert, also dachte ich, dass es als Eingangsparameter für stereoCalibrate()
ohne weitere Modifizierung geeignet wäre.
org.opencv.calib3d.Calib3d.calibrateCamera(objectPoints, cheesboardCornersList, chessboardImg.size(), intrMatrix1, distCoeffs1, rvecs1, tvecs1);
org.opencv.calib3d.Calib3d.calibrateCamera(objectPoints, cheesboardCornersList, chessboardImg.size(), intrMatrix2, distCoeffs2, rvecs2, tvecs2);
...
org.opencv.calib3d.Calib3d.stereoCalibrate(objectPoints, imagePoints1, imagePoints2, intrMatrix1, distCoeffs1, intrMatrix2, distCoeffs2, img1.size(), R, T, org.opencv.calib3d.Calib3d.CALIB_FIX_INTRINSIC);
(Java, OpenCV 3.1)