fix cuda::normalize (dtype < 0) case
This commit is contained in:
parent
d69b7c332a
commit
1bf811c3f1
@ -249,6 +249,10 @@ void cv::cuda::normalize(InputArray _src, OutputArray _dst, double a, double b,
|
|||||||
CV_Assert( src.channels() == 1 );
|
CV_Assert( src.channels() == 1 );
|
||||||
CV_Assert( mask.empty() || (mask.size() == src.size() && mask.type() == CV_8U) );
|
CV_Assert( mask.empty() || (mask.size() == src.size() && mask.type() == CV_8U) );
|
||||||
|
|
||||||
|
if (dtype < 0)
|
||||||
|
{
|
||||||
|
dtype = _dst.fixedType() ? _dst.type() : src.type();
|
||||||
|
}
|
||||||
dtype = CV_MAT_DEPTH(dtype);
|
dtype = CV_MAT_DEPTH(dtype);
|
||||||
|
|
||||||
const int src_depth = src.depth();
|
const int src_depth = src.depth();
|
||||||
|
@ -951,11 +951,11 @@ CUDA_TEST_P(Normalize, WithMask)
|
|||||||
|
|
||||||
cv::cuda::GpuMat dst = createMat(size, type, useRoi);
|
cv::cuda::GpuMat dst = createMat(size, type, useRoi);
|
||||||
dst.setTo(cv::Scalar::all(0));
|
dst.setTo(cv::Scalar::all(0));
|
||||||
cv::cuda::normalize(loadMat(src, useRoi), dst, alpha, beta, norm_type, type, loadMat(mask, useRoi));
|
cv::cuda::normalize(loadMat(src, useRoi), dst, alpha, beta, norm_type, -1, loadMat(mask, useRoi));
|
||||||
|
|
||||||
cv::Mat dst_gold(size, type);
|
cv::Mat dst_gold(size, type);
|
||||||
dst_gold.setTo(cv::Scalar::all(0));
|
dst_gold.setTo(cv::Scalar::all(0));
|
||||||
cv::normalize(src, dst_gold, alpha, beta, norm_type, type, mask);
|
cv::normalize(src, dst_gold, alpha, beta, norm_type, -1, mask);
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst_gold, dst, type < CV_32F ? 1.0 : 1e-4);
|
EXPECT_MAT_NEAR(dst_gold, dst, type < CV_32F ? 1.0 : 1e-4);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user