diff --git a/modules/calib3d/src/calibration.cpp b/modules/calib3d/src/calibration.cpp index a63448506..e48393502 100644 --- a/modules/calib3d/src/calibration.cpp +++ b/modules/calib3d/src/calibration.cpp @@ -3360,7 +3360,11 @@ void cv::projectPoints( InputArray _opoints, CvMat c_cameraMatrix = cameraMatrix; CvMat c_rvec = rvec, c_tvec = tvec; + double dc0buf[5]={0}; + Mat dc0(5,1,CV_64F,dc0buf); Mat distCoeffs = _distCoeffs.getMat(); + if( distCoeffs.empty() ) + distCoeffs = dc0; CvMat c_distCoeffs = distCoeffs; int ndistCoeffs = distCoeffs.rows + distCoeffs.cols - 1; @@ -3375,8 +3379,7 @@ void cv::projectPoints( InputArray _opoints, pdpddist = &(dpddist = jacobian.colRange(10, 10+ndistCoeffs)); } - cvProjectPoints2( &c_objectPoints, &c_rvec, &c_tvec, &c_cameraMatrix, - (distCoeffs.empty())? 0: &c_distCoeffs, + cvProjectPoints2( &c_objectPoints, &c_rvec, &c_tvec, &c_cameraMatrix, &c_distCoeffs, &c_imagePoints, pdpdrot, pdpdt, pdpdf, pdpdc, pdpddist, aspectRatio ); } diff --git a/modules/calib3d/src/modelest.cpp b/modules/calib3d/src/modelest.cpp index 76f6d6219..cecd708e7 100644 --- a/modules/calib3d/src/modelest.cpp +++ b/modules/calib3d/src/modelest.cpp @@ -460,20 +460,23 @@ int cv::estimateAffine3D(InputArray _from, InputArray _to, double param1, double param2) { Mat from = _from.getMat(), to = _to.getMat(); - int count = from.checkVector(3, CV_32F); + int count = from.checkVector(3); - CV_Assert( count >= 0 && to.checkVector(3, CV_32F) == count ); + CV_Assert( count >= 0 && to.checkVector(3) == count ); _out.create(3, 4, CV_64F); Mat out = _out.getMat(); - _inliers.create(count, 1, CV_8U, -1, true); + _inliers.create(count, 1, CV_8U); Mat inliers = _inliers.getMat(); inliers = Scalar::all(1); + transpose(inliers, inliers); Mat dFrom, dTo; from.convertTo(dFrom, CV_64F); to.convertTo(dTo, CV_64F); + dFrom = dFrom.reshape(3, 1); + dTo = dTo.reshape(3, 1); CvMat F3x4 = out; CvMat mask = inliers; diff --git a/modules/python/test/test.py b/modules/python/test/test.py index 924708c48..7c511e4ef 100755 --- a/modules/python/test/test.py +++ b/modules/python/test/test.py @@ -16,6 +16,8 @@ import functools import cv2.cv as cv +from test2 import * + class OpenCVTests(unittest.TestCase): depths = [ cv.IPL_DEPTH_8U, cv.IPL_DEPTH_8S, cv.IPL_DEPTH_16U, cv.IPL_DEPTH_16S, cv.IPL_DEPTH_32S, cv.IPL_DEPTH_32F, cv.IPL_DEPTH_64F ] @@ -2200,10 +2202,6 @@ class DocumentFragmentTests(OpenCVTests): self.assertEqual(self.hashimg(h1), self.hashimg(h3)) self.assertNotEqual(self.hashimg(h1), self.hashimg(h2)) -class NewTests(OpenCVTests): - - pass - if __name__ == '__main__': print "testing", cv.__version__ random.seed(0)