Skip to content

Commit cee3ec6

Browse files
committed
Merge pull request opencv#21271 from vrabaud:3.4_clip
2 parents 2329cbc + 3da17c4 commit cee3ec6

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

modules/imgproc/src/color_lab.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -2979,9 +2979,9 @@ struct RGB2Luvfloat
29792979
for( ; i < n; i++, src += scn, dst += 3 )
29802980
{
29812981
float R = src[0], G = src[1], B = src[2];
2982-
R = std::min(std::max(R, 0.f), 1.f);
2983-
G = std::min(std::max(G, 0.f), 1.f);
2984-
B = std::min(std::max(B, 0.f), 1.f);
2982+
R = clip(R);
2983+
G = clip(G);
2984+
B = clip(B);
29852985
if( gammaTab )
29862986
{
29872987
R = splineInterpolate(R*gscale, gammaTab, GAMMA_TAB_SIZE);
@@ -3205,9 +3205,9 @@ struct Luv2RGBfloat
32053205
float G = X*C3 + Y*C4 + Z*C5;
32063206
float B = X*C6 + Y*C7 + Z*C8;
32073207

3208-
R = std::min(std::max(R, 0.f), 1.f);
3209-
G = std::min(std::max(G, 0.f), 1.f);
3210-
B = std::min(std::max(B, 0.f), 1.f);
3208+
R = clip(R);
3209+
G = clip(G);
3210+
B = clip(B);
32113211

32123212
if( gammaTab )
32133213
{

modules/imgproc/test/test_color.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -3203,6 +3203,8 @@ TEST(ImgProc_RGB2Lab, NaN_21111)
32033203
src(0, 1) = src(0, 28) = src(0, 82) = src(0, 109) = cv::Vec3f(0, kNaN, 0);
32043204
src(0, 2) = src(0, 29) = src(0, 83) = src(0, 110) = cv::Vec3f(kNaN, 0, 0);
32053205
EXPECT_NO_THROW(cvtColor(src, dst, COLOR_RGB2Lab));
3206+
EXPECT_NO_THROW(cvtColor(src, dst, COLOR_RGB2Luv));
3207+
EXPECT_NO_THROW(cvtColor(src, dst, COLOR_Luv2RGB));
32063208

32073209
#if 0 // no NaN propagation guarantee
32083210
for (int i = 0; i < 20; ++i)

0 commit comments

Comments
 (0)