diff --git a/apps/interactive-calibration/calibCommon.hpp b/apps/interactive-calibration/calibCommon.hpp index ed6c3613d1..967982300b 100644 --- a/apps/interactive-calibration/calibCommon.hpp +++ b/apps/interactive-calibration/calibCommon.hpp @@ -118,6 +118,9 @@ namespace calib double solverEps; int solverMaxIters; bool fastSolving; + bool rationalModel; + bool thinPrismModel; + bool tiltedModel; double filterAlpha; internalParameters() @@ -125,6 +128,9 @@ namespace calib solverEps = 1e-7; solverMaxIters = 30; fastSolving = false; + rationalModel = false; + thinPrismModel = false; + tiltedModel = false; filterAlpha = 0.1; } }; diff --git a/apps/interactive-calibration/main.cpp b/apps/interactive-calibration/main.cpp index b9ec7e8805..889a536a69 100644 --- a/apps/interactive-calibration/main.cpp +++ b/apps/interactive-calibration/main.cpp @@ -134,6 +134,10 @@ int main(int argc, char** argv) int calibrationFlags = 0; if(intParams.fastSolving) calibrationFlags |= cv::CALIB_USE_QR; + if(intParams.rationalModel) calibrationFlags |= cv::CALIB_RATIONAL_MODEL; + if(intParams.thinPrismModel) calibrationFlags |= cv::CALIB_THIN_PRISM_MODEL; + if(intParams.tiltedModel) calibrationFlags |= cv::CALIB_TILTED_MODEL; + cv::Ptr controller(new calibController(globalData, calibrationFlags, parser.get("ft"), capParams.minFramesNum)); cv::Ptr dataController(new calibDataController(globalData, capParams.maxFramesNum, diff --git a/apps/interactive-calibration/parametersController.cpp b/apps/interactive-calibration/parametersController.cpp index 90d24b04c9..48639a2bdb 100644 --- a/apps/interactive-calibration/parametersController.cpp +++ b/apps/interactive-calibration/parametersController.cpp @@ -49,6 +49,9 @@ bool calib::parametersController::loadFromFile(const std::string &inputFileName) readFromNode(reader["solver_eps"], mInternalParameters.solverEps); readFromNode(reader["solver_max_iters"], mInternalParameters.solverMaxIters); readFromNode(reader["fast_solver"], mInternalParameters.fastSolving); + readFromNode(reader["rational_model"], mInternalParameters.rationalModel); + readFromNode(reader["thin_prism_model"], mInternalParameters.thinPrismModel); + readFromNode(reader["tiltedModel"], mInternalParameters.tiltedModel); readFromNode(reader["frame_filter_conv_param"], mInternalParameters.filterAlpha); bool retValue =