1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 08:13:04 +04:00

imgproc(getPerspectiveTransform): add solveMethod parameter

drop compatibility workaround via runtime parameter
This commit is contained in:
Alexander Alekhin
2018-07-18 15:03:51 +03:00
parent 9787ab598b
commit d044ac1c66
3 changed files with 29 additions and 10 deletions
+4 -6
View File
@@ -3039,7 +3039,7 @@ cv::Mat cv::getRotationMatrix2D( Point2f center, double angle, double scale )
* where:
* cij - matrix coefficients, c22 = 1
*/
cv::Mat cv::getPerspectiveTransform( const Point2f src[], const Point2f dst[] )
cv::Mat cv::getPerspectiveTransform(const Point2f src[], const Point2f dst[], int solveMethod)
{
CV_INSTRUMENT_REGION()
@@ -3062,9 +3062,7 @@ cv::Mat cv::getPerspectiveTransform( const Point2f src[], const Point2f dst[] )
b[i+4] = dst[i].y;
}
static int param_IMGPROC_GETPERSPECTIVETRANSFORM_SOLVE_METHOD =
(int)utils::getConfigurationParameterSizeT("OPENCV_IMGPROC_GETPERSPECTIVETRANSFORM_SOLVE_METHOD", (size_t)DECOMP_LU);
solve(A, B, X, param_IMGPROC_GETPERSPECTIVETRANSFORM_SOLVE_METHOD);
solve(A, B, X, solveMethod);
M.ptr<double>()[8] = 1.;
return M;
@@ -3153,11 +3151,11 @@ void cv::invertAffineTransform(InputArray _matM, OutputArray __iM)
CV_Error( CV_StsUnsupportedFormat, "" );
}
cv::Mat cv::getPerspectiveTransform(InputArray _src, InputArray _dst)
cv::Mat cv::getPerspectiveTransform(InputArray _src, InputArray _dst, int solveMethod)
{
Mat src = _src.getMat(), dst = _dst.getMat();
CV_Assert(src.checkVector(2, CV_32F) == 4 && dst.checkVector(2, CV_32F) == 4);
return getPerspectiveTransform((const Point2f*)src.data, (const Point2f*)dst.data);
return getPerspectiveTransform((const Point2f*)src.data, (const Point2f*)dst.data, solveMethod);
}
cv::Mat cv::getAffineTransform(InputArray _src, InputArray _dst)