我有一个新任务,需要找到一种方法来检测图像上的文本。该图像是地图——例如谷歌地图。任务是检测街道/城市标签的位置。
我知道opencv库有算法可以检测特征(例如人脸)——haar分类器或hog(方向梯度直方图),但我听说这些算法的学习过程相当困难。
你知道是否有任何算法、方法或库可以做到这一点(检测图像上的文本)吗?
谢谢, 约翰
我有一个新任务,需要找到一种方法来检测图像上的文本。该图像是地图——例如谷歌地图。任务是检测街道/城市标签的位置。
我知道opencv库有算法可以检测特征(例如人脸)——haar分类器或hog(方向梯度直方图),但我听说这些算法的学习过程相当困难。
你知道是否有任何算法、方法或库可以做到这一点(检测图像上的文本)吗?
谢谢, 约翰
在视觉领域中存在一个标准问题,称为图像中的文本检测。它与OCR非常不同。 OCR关注的是它说了什么,而文本检测则是确定图像中是否有文本。 Adi Shavit的第三个链接是解决这个问题的方法。您可以在Google学术中查找文本检测的文章。
你需要将其调整为特定类型的地图图像,否则问题会非常困难(请参阅有关文章链接的先前帖子)。
OCR 是解决问题的方法,你应该使用现有的库。然而,OCR 主要是针对白色背景上的文本进行的。为了将你的问题简化为常规 OCR 问题,你应该尝试处理地图的颜色空间。很可能地图文本具有非常特定的颜色,这可能足以找到这些像素。然后,你可以根据连接区域的大小过滤检测到的像素。
如果你只想找到文本标签的位置,可以执行上述操作,基本上跳过 OCR 步骤。如果标签不太接近,可以使用简单的聚类算法来找到它们各自的位置。