在BMP图像文件中搜索形状

时间:2011-10-16 04:25:44

标签: c# image-processing

我有一个图像处理问题,使用C#。

假设我有一些BMP格式的原理图,该图包含相互连接的组件形状。

我写了一个简单的程序来检测图中的方形作为一个组件,并记录它的位置。然而,下一个层次是检测更复杂的形状,如连接在一起的几个弧。请注意,这些形状在图像中可以是不同的大小。有谁知道这样做的好方法?没有下载任何库(这是我现在的限制)。

在检测到形状之后,我还需要记录哪个形状连接到哪个,所以稍后我可以重绘它们。我有一个星期的时间来做这件事,非常感谢你的帮助!

我正在使用C#。

3 个答案:

答案 0 :(得分:1)

看看this paper。我对他们的方法的理解:

  • 检测边缘
  • 通过寻找垂直边缘来检测角落
  • 通过查找角落组来检测多边形
  • 使用Hough变换检测圆圈

这是一个相当困难的研究问题。即使拥有像OpenCV这样强大的计算机视觉库,在一周内实施有效的解决方案也是一项艰巨的任务。

答案 1 :(得分:0)

您是否看过使用EmguCV?它是OpenCV的开源C#包装器。它还有一个你可能感兴趣的shape detection sample

答案 2 :(得分:0)

为了回答我曾经发过的一篇旧帖子,我已经完成了我需要在两周内完成的工作,它运作良好。实际上我最终使用不同的算法来处理不同的形状。这些算法有点自我发明,但我想提到的一个好方法是得到直方图,然后在不同的轴上使用投影帮助了很多。