mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 20:42:53 +08:00
Merge pull request #16083 from alalek:issue_14961
This commit is contained in:
commit
8f910d2d49
@ -74,7 +74,7 @@ public:
|
|||||||
cv::Scalar initScalarRandU(unsigned upper)
|
cv::Scalar initScalarRandU(unsigned upper)
|
||||||
{
|
{
|
||||||
auto& rng = cv::theRNG();
|
auto& rng = cv::theRNG();
|
||||||
double s1 = rng(upper);
|
double s1 = rng(upper); // FIXIT: RNG result is 'int', not double
|
||||||
double s2 = rng(upper);
|
double s2 = rng(upper);
|
||||||
double s3 = rng(upper);
|
double s3 = rng(upper);
|
||||||
double s4 = rng(upper);
|
double s4 = rng(upper);
|
||||||
@ -97,8 +97,23 @@ public:
|
|||||||
|
|
||||||
sc = initScalarRandU(100);
|
sc = initScalarRandU(100);
|
||||||
|
|
||||||
cv::randu(in_mat1, cv::Scalar::all(0), cv::Scalar::all(255));
|
// Details: https://github.com/opencv/opencv/pull/16083
|
||||||
cv::randu(in_mat2, cv::Scalar::all(0), cv::Scalar::all(255));
|
//if (CV_MAT_DEPTH(type) < CV_32F)
|
||||||
|
if (1)
|
||||||
|
{
|
||||||
|
cv::randu(in_mat1, cv::Scalar::all(0), cv::Scalar::all(255));
|
||||||
|
cv::randu(in_mat2, cv::Scalar::all(0), cv::Scalar::all(255));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const int fscale = 256; // avoid bits near ULP, generate stable test input
|
||||||
|
Mat in_mat32s(in_mat1.size(), CV_MAKE_TYPE(CV_32S, CV_MAT_CN(type)));
|
||||||
|
cv::randu(in_mat32s, cv::Scalar::all(0), cv::Scalar::all(255 * fscale));
|
||||||
|
in_mat32s.convertTo(in_mat1, type, 1.0f / fscale, 0);
|
||||||
|
|
||||||
|
cv::randu(in_mat32s, cv::Scalar::all(0), cv::Scalar::all(255 * fscale));
|
||||||
|
in_mat32s.convertTo(in_mat2, type, 1.0f / fscale, 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (createOutputMatrices)
|
if (createOutputMatrices)
|
||||||
{
|
{
|
||||||
@ -111,7 +126,17 @@ public:
|
|||||||
in_mat1 = cv::Mat(sz_in, type);
|
in_mat1 = cv::Mat(sz_in, type);
|
||||||
|
|
||||||
sc = initScalarRandU(100);
|
sc = initScalarRandU(100);
|
||||||
cv::randu(in_mat1, cv::Scalar::all(0), cv::Scalar::all(255));
|
if (CV_MAT_DEPTH(type) < CV_32F)
|
||||||
|
{
|
||||||
|
cv::randu(in_mat1, cv::Scalar::all(0), cv::Scalar::all(255));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const int fscale = 256; // avoid bits near ULP, generate stable test input
|
||||||
|
Mat in_mat32s(in_mat1.size(), CV_MAKE_TYPE(CV_32S, CV_MAT_CN(type)));
|
||||||
|
cv::randu(in_mat32s, cv::Scalar::all(0), cv::Scalar::all(255 * fscale));
|
||||||
|
in_mat32s.convertTo(in_mat1, type, 1.0f / fscale, 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (createOutputMatrices)
|
if (createOutputMatrices)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user