提交 d4741eec 编写于 作者: V Vincent Rabaud

Fix H clamping for very small negative values.

In case of very small negative h (e.g. -1e-40), with the current implementation,
you will go through the first condition and end up with h = 6.f, and will miss
the second condition.
上级 585484cb
......@@ -955,12 +955,11 @@ struct HLS2RGB_f
float p1 = 2*l - p2;
h *= hscale;
if( h < 0 )
do h += 6; while( h < 0 );
else if( h >= 6 )
do h -= 6; while( h >= 6 );
// We need both loops to clamp (e.g. for h == -1e-40).
while( h < 0 ) h += 6;
while( h >= 6 ) h -= 6;
assert( 0 <= h && h < 6 );
CV_DbgAssert( 0 <= h && h < 6 );
sector = cvFloor(h);
h -= sector;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册