1

我想找到黑色区域的边界

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

我为黑色尝试了不同的值,但可以找到平均值,因此在两张图片中区域都是阈值范围之一是

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);

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

4

3 回答 3

3

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

于 2013-07-26T13:45:00.700 回答
1
inRange(src_HSV, Scalar(0, 0, 0), Scalar(179,50, 100), src_HSV); 

用于黑色和灰色色调。无论如何,它是特定于应用程序的。请点击此链接以获得有关 HSV 的深入见解:

于 2014-12-02T09:55:54.840 回答
0

这将是一个选项(在 RGB 中):

如果((红+绿+蓝)<= 64){

// 黑色 } else {

// 不是黑色 }



如果不是,您可以尝试 HSL(色调、饱和度、亮度)值并在亮度 < 10% 时设置黑色 ...

于 2013-07-26T10:00:07.103 回答