From b9c2d88e69b507ec05efc2085305696ef279b919 Mon Sep 17 00:00:00 2001 From: Utkarsh Sinha Date: Mon, 10 Apr 2017 20:43:33 -0700 Subject: [PATCH] If the user passes an empty output matrix, initialize it to identity. --- modules/video/src/ecc.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/video/src/ecc.cpp b/modules/video/src/ecc.cpp index d11419e402..377b775072 100644 --- a/modules/video/src/ecc.cpp +++ b/modules/video/src/ecc.cpp @@ -325,6 +325,16 @@ double cv::findTransformECC(InputArray templateImage, CV_Assert(!src.empty()); CV_Assert(!dst.empty()); + // If the user passed an un-initialized warpMatrix, initialize to identity + if(map.empty()) { + int rowCount = 2; + if(motionType == MOTION_HOMOGRAPHY) + rowCount = 3; + + warpMatrix.create(rowCount, 3, CV_32FC1); + map = warpMatrix.getMat(); + map = Mat::eye(rowCount, 3, CV_32F); + } if( ! (src.type()==dst.type())) CV_Error( Error::StsUnmatchedFormats, "Both input images must have the same data type" ); -- GitLab