为什么InRange(TColor更低,TColor更高)返回错误的“值”?

时间:2013-10-23 11:41:09

标签: emgucv

正如您在http://snag.gy/wVqG4.jpg中看到的那样,Inrange(0,0,0,255,255,255)不会返回完全白色的图像,因此无法正确检查所有颜色是否在范围内。怎么了?

完整来源:https://mega.co.nz/#!s4BXzKja!SpLk2z9NI8V-fIZTK8oyT15lh-ZRj6HhJ1f61wxc358

1 个答案:

答案 0 :(得分:0)

我能够使用您的EmguCV版本(2.2.1.1150)重现您的问题,但不能重现您的问题(2.4.2.1777)

您看到的问题是由版本2.2.0和2.3.0之间的OpenCV中的行为更改引起的。在版本2.2.0中,上限被排除在'低< =值<在2.3.0和更高的情况下,它是'低< =值< =高'。如果您想要以后的行为,请升级您的EmguCV版本。

作为一种变通方法,如果只使用整数值,也可以将滑块最大位置映射到“值+ 1”。

此问题已在此处报告:http://code.opencv.org/issues/1500