我目前正在做一个小项目,涉及到在一个固定的背景上绘制的表示平面图的类似图片中的特定区域的检测。
下面是一个图片示例:
我试着找出那些门,试图达到这样的结果:
我是一个完全新手在图像处理和不确定什么样的算法或图像处理方法,我正在寻找。我尝试玩一些边缘检测算法,包括在Photoshop,但我无法得到一个干净的结果。
有人能提供一些帮助或指导吗?
发布于 2013-11-29 09:54:29
我终于让它和几乎任何一种瓷砖一起工作了。由于该算法仅用于为另一个应用程序生成配置文件,因此我将手动修复其余的瓷砖:)
以下是我对任何感兴趣的人的解决方案:
以下是各种瓷砖的最终结果:
发布于 2013-11-28 15:14:56
我不认为这种边缘检测会对你有帮助。
如果平面图总是固定的网格,那么任务就更容易了:您只需遍历所有的边框,并识别它们是墙砖还是地砖。如果是门砖,把门画成长方形。(这意味着在您的示例中,实际上有四个门是一个网格宽度,而不是两个门是两个网格宽。墙角的地砖也是两扇门,一个是垂直的,另一个是水平的。
问题是如何识别瓷砖。地砖太不一样了,质地粗糙,也有墙壁投下的阴影。识别墙面瓷砖比较容易。它们的颜色很相似。
我的第一个想法是将图像缩小到6x6像素。这会给我每个瓷砖的平均颜色,但它没有起作用:墙壁的部分给出一个偏移的颜色。
一种似乎可行的方法是确定每个瓷砖核心区域的平均RGB颜色,然后将其与墙砖的泥泞深棕色与欧几里德距离与墙砖颜色样本进行比较:
这种方法依赖于对所有平面图中的所有瓷砖采用类似的颜色方案。我用过这个标准
r > 0x44 || g > 0x44|| b > 0x44
在这里识别地砖。也许你需要一个更好的标准,如果你必须区分更多的瓷砖类型。
编辑我刚刚看到了你发布的新瓷砖。上述方法在这里行不通,至少在铁路线路的计划中是行不通的。也许算法需要看一下薄壁。
https://stackoverflow.com/questions/20259428
复制相似问题