improved cloning test
This commit is contained in:
parent
83ef276697
commit
0a3aab288a
@ -47,6 +47,7 @@
|
|||||||
using namespace cv;
|
using namespace cv;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
static const double numerical_precision = 1.;
|
||||||
|
|
||||||
TEST(Photo_SeamlessClone_normal, regression)
|
TEST(Photo_SeamlessClone_normal, regression)
|
||||||
{
|
{
|
||||||
@ -69,8 +70,9 @@ TEST(Photo_SeamlessClone_normal, regression)
|
|||||||
p.y = destination.size().height/2;
|
p.y = destination.size().height/2;
|
||||||
seamlessClone(source, destination, mask, p, result, 1);
|
seamlessClone(source, destination, mask, p, result, 1);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Photo_SeamlessClone_mixed, regression)
|
TEST(Photo_SeamlessClone_mixed, regression)
|
||||||
@ -94,7 +96,9 @@ TEST(Photo_SeamlessClone_mixed, regression)
|
|||||||
p.y = destination.size().height/2;
|
p.y = destination.size().height/2;
|
||||||
seamlessClone(source, destination, mask, p, result, 2);
|
seamlessClone(source, destination, mask, p, result, 2);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +123,9 @@ TEST(Photo_SeamlessClone_featureExchange, regression)
|
|||||||
p.y = destination.size().height/2;
|
p.y = destination.size().height/2;
|
||||||
seamlessClone(source, destination, mask, p, result, 3);
|
seamlessClone(source, destination, mask, p, result, 3);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,7 +144,9 @@ TEST(Photo_SeamlessClone_colorChange, regression)
|
|||||||
Mat result;
|
Mat result;
|
||||||
colorChange(source, mask, result, 1.5, .5, .5);
|
colorChange(source, mask, result, 1.5, .5, .5);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,7 +165,9 @@ TEST(Photo_SeamlessClone_illuminationChange, regression)
|
|||||||
Mat result;
|
Mat result;
|
||||||
illuminationChange(source, mask, result, 0.2f, 0.4f);
|
illuminationChange(source, mask, result, 0.2f, 0.4f);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,6 +186,8 @@ TEST(Photo_SeamlessClone_textureFlattening, regression)
|
|||||||
Mat result;
|
Mat result;
|
||||||
textureFlattening(source, mask, result, 30, 45, 3);
|
textureFlattening(source, mask, result, 30, 45, 3);
|
||||||
|
|
||||||
imwrite(folder + "cloned.png", result);
|
Mat reference = imread(folder + "reference.png");
|
||||||
|
double error = norm(reference, result, NORM_L1);
|
||||||
|
EXPECT_LE(error, numerical_precision);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user