From 21f3531b17017fd5559ced15e5c41ee2e8635517 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Wed, 7 Dec 2016 19:27:19 +0300 Subject: [PATCH] core: fix inplace support in mulSpectrums --- modules/core/src/dxt.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/core/src/dxt.cpp b/modules/core/src/dxt.cpp index 90eb392f58..b94f65a1e9 100644 --- a/modules/core/src/dxt.cpp +++ b/modules/core/src/dxt.cpp @@ -1905,6 +1905,12 @@ void cv::mulSpectrums( InputArray _srcA, InputArray _srcB, _dst.create( srcA.rows, srcA.cols, type ); Mat dst = _dst.getMat(); + // correct inplace support + if (dst.data == srcA.data) + srcA = srcA.clone(); + if (dst.data == srcB.data) + srcB = srcB.clone(); + bool is_1d = (flags & DFT_ROWS) || (rows == 1 || (cols == 1 && srcA.isContinuous() && srcB.isContinuous() && dst.isContinuous()));