识别c#中不同行的矩形

时间:2014-04-28 09:12:03

标签: c#

给定具有未定义数量的矩形的图像,这些矩形由具有未定义坐标的预定义线分隔(图像中的线仅表示预定义线应该是的坐标)。 每个矩形应该成为一个单独的System.Drawing.Bitmap并放入一个Bitmaps数组。

  • 矩形将始终为矩形,并且都具有相同的尺寸(因此,如果您可以找到一个正确的矩形,您可以假设其余的矩形是相同的。)
  • 您可以假设所有图像中的所有线都是预定义的固定宽度(例如5像素)
  • 网格将始终是并行的&垂直于图像的两侧。
  • 所有线条都会从上到下,或从一边到另一边,即使它在图像中看起来不像。
  • 矩形的数量未定义(并不总是像图像中的4x4)

这些图像用于查找矩形,然后将从原始图像中剪切出来。但是,如果我可以在适当的矩形中剪切这些图像,我应该可以对原始图像执行相同的操作。

One of the darker images One of the lighter images An image with imperfection

我可以想象这个问题很难理解;我很难解释。所有问题都非常受欢迎。

1 个答案:

答案 0 :(得分:1)

我不太确定你的问题到底是什么,所以我假设你正在寻找一种算法来检测你的矩形。 从图像看起来,您可以使用图像中的背景纹理中的某种二值化滤镜来分隔矩形的边框线。

我会在你的图像上尝试Hough transformation来检测矩形并在霍夫空间中寻找类似大小的矩形来缩小结果范围。霍夫变换可以很容易地实现,并不是很复杂。但我想谷歌搜索会给你一个示例代码。