【发布时间】:2018-07-29 15:52:29
【问题描述】:
我有一个文档(建筑物的平面图),其中包含一些我需要检测的对象以及其中的文本。基本上它只是一个扁六边形,里面有文字。我的任务是在给定的计划中找到所有这样的六边形。我决定切割一个六边形并将其设置为模板并使用 cv2.templateMatch。它能够正确检测到一些六边形,但不是全部。我想,问题出在里面的文字,因为每个六边形都不一样,我无法检测到所有存在的六边形。
是否有可能以某种方式使模板动态化或只检测周围的边框,而忽略里面的文本。
UPD: 我需要定位的对象看起来是这样的:
__________
<|ABC12345|>
----------
【问题讨论】:
-
您能提供一个示例输入图像吗?
-
@DanMašek 抱歉,但它在 NDA 下。你能想象建筑物楼层的平面图(例如火灾应急计划),上面有类似的对象:这个盒子我称之为六边形,我想你明白了
-
opencvs 模板匹配不允许使用掩码,但是过程很简单,你也许可以自己写(可能更慢/不太优化)。另一个类似的 alprach 是倒角匹配。
-
如果字体颜色与六边形不同,您可以尝试在模式匹配之前过滤掉文本。
标签: python opencv computer-vision object-detection template-matching