【问题标题】:Define black region in HSV color space在 HSV 颜色空间中定义黑色区域
【发布时间】:2013-07-26 12:31:42
【问题描述】:

我想找到黑色区域的边界

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

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

【问题讨论】:

  • 您可以尝试使用 gimp 打开图像以选取一些像素样本。
  • @ChronoTrigger 谢谢,我尝试了颜色选择器工具,但它们提供的范围确实不同,不能用于阈值处理

标签: opencv colors filter hsv


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    inRange(src_HSV, Scalar(0, 0, 0), Scalar(179,50, 100), src_HSV); 
    

    用于黑色和灰色阴影。 无论如何,它是特定于应用程序的。 关注this link,深入了解 HSV:

    【讨论】:

      【解决方案3】:

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

      如果((红+绿+蓝)

      // 黑色 } 其他 {

      // 不是黑色的 }



      如果不是,您可以尝试 HSL(色调、饱和度、亮度)值并在亮度

      【讨论】:

      • 谢谢,HSL 帮助了,但不是 10,我认为 100 就足够了 cvtColor(src, src_HSV, CV_BGR2HLS); inRange(src_HSV, Scalar(0, 0, 0), Scalar(180, 100, 255), src_HSV);
      猜你喜欢
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多