【问题标题】:Shape context matching in OpenCVOpenCV 中的形状上下文匹配
【发布时间】:2011-12-03 08:30:27
【问题描述】:

有形状上下文匹配的 OpenCV 实现吗?我发现只有 matchShapes() 函数对我不起作用。我想从形状上下文匹配的相应特征集中获得。在两个不同的图像上比较和查找检测到的轮廓的旋转和位移是否是个好主意。

还有一些示例代码对我很有帮助。

我想检测例如粉红色的正方形,在第二种情况下是笔。其他示例可能是带有一些孔、星等的正方形。

【问题讨论】:

  • 分享一些示例图片对您也很有帮助。
  • 我认为这不是那么必要,因为我想实现一些算法。我没有要使用它的特殊情况。但我上传了一些示例照片。
  • Template matching 带有内部 OpenCV 函数需要参考图像。关于如何检测正方形的具体实现,check this answer
  • 正如我所说,我还想匹配更复杂的轮廓。令人满意的效果对我来说就像这里描述的那样eecs.berkeley.edu/Research/Projects/CS/vision/shape/…
  • 您的问题似乎非常适合:成对几何直方图 (PGH) b.轮廓的层次匹配。 OPenCV 提供了获取两者的方法。

标签: image-processing opencv


【解决方案1】:

图像处理的基本步骤是

图像采集 > 预处理 > 分割 > 表示 > 识别

您所要求的似乎在此通用算法的表示部分中。您想要一些描述您感兴趣的对象的功能,对吧?在分享我为简单的手势识别所做的工作之前,我希望您考虑一下您实际需要什么。很多时候,简单会使它变得容易得多。考虑对象上的固定颜色,考虑背景减法(这两个与预处理和分割的主要联系)。至于表示,您对哪些功能感兴趣?你能排除其中一些功能的需要吗?

我和我的项目组采取了一种简单的预处理和分割方法,为我们的手选择了一只绿色手套。以下是屏幕上的手套、摄像头和检测示例:

我们对缺陷使用了一个阈值,并指定了它来从手指中发现缺陷,并且我们计算了旋转矩形边界框的比率,看看我们的血液是多少二次方。只需选择四种不同的手势,我们就可以仅通过这两个特征来区分它们。

我们使用的函数和测量值都可以在 documentation on structural analysis 中找到用于 OpenCV,对于向量中的值的访问(我们经常使用),可以在 the documentation for vectors in c++ 中找到

我希望你能用这个思路;如果您想了解更具体的信息,我很乐意发表评论,享受吧。

【讨论】:

  • 这是一个很好的答案,但我的问题和问题是不同的。现在我正在寻找从 PGH 和分层匹配方法中提取旋转和位移。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 2020-08-29
  • 1970-01-01
  • 2018-03-21
  • 2019-06-10
  • 2019-03-05
  • 2016-05-13
相关资源
最近更新 更多