是否可以使用cv2.templateMatch()

时间:2018-07-29 15:52:30

标签: python opencv computer-vision object-detection template-matching

我有一个文档(建筑物的平面图),其中包含一些我需要检测的对象,其中包含文本。基本上,它只是一个扁圆形的六角形,内部带有文本。我的任务是在给定的计划中找到所有这些六边形。我决定切割一个六角形并将其设置为模板,然后使用cv2.templateMatch。它能够正确检测到一些六角形,但不是全部。我想,问题出在里面的文本,因为每个六角形都不同,所以我无法检测到所有存在的六角形。

是否可以以某种方式使模板动态化,或者只检测周围的边框,而忽略其中的文本。

UPD:我需要找到的对象看起来像这样:

  __________
 <|ABC12345|>
  ----------

1 个答案:

答案 0 :(得分:0)

我认为模板匹配不会为您带来良好的结果,因为这是一个对象检测问题。

对我来说,它与板检测/识别非常相似。

最可靠的方法是使用深度学习解决此问题。

可能的解决方案的大致摘要可能是:  1.根据字体样式及其格式(例如3个字母和5个数字)生成培训和测试数据  2.在生成的图像中添加噪点和不同的背景  3.找到合适的网络并开始训练...

祝你好运。