在HSV颜色空间中定义黑色区域

时间:2013-07-26 09:37:39

标签: opencv colors filter hsv

我想找到黑色区域的边界

http://i40.tinypic.com/2lbi9s9.jpg http://i44.tinypic.com/ka4vuc.jpg

我为黑色尝试了不同的值,但是coluld找到了平均值,因此在两张图片中对区域进行阈值处理 其中一个范围是

inRange(src_HSV, Scalar(0, 0, 0), Scalar(180, 150, 50), src_HSV);

另一个是

inRange(src_HSV, Scalar(100, 40, 140), Scalar(140, 160, 255), src_HSV);

我试图在互联网上搜索黑色的值,但找不到适合这种情况的任何东西,有不同的黑色调

3 个答案:

答案 0 :(得分:3)

请注意,在HSV中,黑色定义为V = 0,与H和S无关(在您的情况下,您可能需要查找V和S的小值)。我会忽略H组件。

答案 1 :(得分:1)

inRange(src_HSV, Scalar(0, 0, 0), Scalar(179,50, 100), src_HSV); 

适用于黑色和灰色阴影。 无论如何它是特定于应用程序。 关注this link以获得有关HSV的更多见解:

答案 2 :(得分:0)

这是一个选项(RGB格式):

if((red + green + blue)< = 64){

//黑色 } else {

//不是黑人 }



如果不是,你可以尝试HSL(色调,饱和度,亮度)值并且如果亮度<则设置黑色。 10%......