diff --git a/modules/calib3d/src/triangulate.cpp b/modules/calib3d/src/triangulate.cpp index fb7657d77a..c86a7834c1 100644 --- a/modules/calib3d/src/triangulate.cpp +++ b/modules/calib3d/src/triangulate.cpp @@ -415,6 +415,12 @@ void cv::triangulatePoints( InputArray _projMatr1, InputArray _projMatr2, Mat matr1 = _projMatr1.getMat(), matr2 = _projMatr2.getMat(); Mat points1 = _projPoints1.getMat(), points2 = _projPoints2.getMat(); + if((points1.rows == 1 || points1.cols == 1) && points1.channels() == 2) + points1 = points1.reshape(1, points1.total()).t(); + + if((points2.rows == 1 || points2.cols == 1) && points2.channels() == 2) + points2 = points2.reshape(1, points2.total()).t(); + CvMat cvMatr1 = matr1, cvMatr2 = matr2; CvMat cvPoints1 = points1, cvPoints2 = points2;