【问题标题】:OpenCV C# - Detecting simple object in static imageOpenCV C# - 检测静态图像中的简单对象
【发布时间】:2017-09-19 11:07:47
【问题描述】:

我对图像没有经验。我必须检测静态图像中的简单对象。例如,我有这样的图像:

我想检测边缘并移除背景。只是为了比较它们。 像这样的。

你有解决这个问题的方法吗?图像通常具有白色背景。

我刚刚考虑过检测边缘,并获取其中包含的所有内容。

【问题讨论】:

  • 简单对象是黑色背景上的白色圆形或正方形。但不是这个。您可以尝试提取边缘,但您也会得到阴影和背景上的水平线。而且这些边缘比你的对象边缘强。
  • 我考虑过将图像转换为 HSV 并更改 H、S 和 V 值以获得对象的轮廓。这个比较器一定没有那么准确。我会得到分数并设定范围。
  • 简单地在图像上按顺序做自适应阈值、sobelx和dilation。你会分割出鞋子。然后修复一个盒子应该不是问题。

标签: c# opencv graphics detection


【解决方案1】:

分割鞋子-

  • 用于去除平滑变化背景的自适应阈值。
  • Sobelx,去除明显的背景线,我假设它是 此设置的图像很常见。
  • 扩张、闭合操作以分离出鞋。
  • 根据您的选择查找轮廓、边界框等。

如果你想去除底部的阴影,请做一个额外的阈值。

【讨论】:

  • 这就是我想要的。当我有轮廓时,我将从原始图像中减去我的产品以创建直方图进行比较;)非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 2023-03-03
  • 2012-02-17
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多