首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在图像中寻找拼字板的角点

在图像中寻找拼字板的角点
EN

Stack Overflow用户
提问于 2017-12-25 08:42:31
回答 2查看 965关注 0票数 2

我正在尝试提取放在拼字板上的瓷砖(字母)。目标是识别/阅读董事会上所有可能出现的单词。

一个例子-

理想情况下,我想找出拼字板的四个角落,并应用透视变换,进行进一步的处理。

透视变换之后-

我使用的算法如下-

  1. 将自适应阈值处理应用于拼字板灰度图像。

  1. 展开/关闭图像,在给定的图像中找到最大的轮廓,然后找到凸包,并完全填充凸包所包围的区域。

  1. 找出结果图像的边界点(轮廓),然后应用等高线近似得到角点,然后应用透视变换。

找到拐角点-

这种方法适用于像这样的图像。但是,正如你所看到的,许多正方形板都有一个底部,它在顶部和底部都是弯曲的。有时,底部是一个大的圆形板。用这些图片我的方法失败了。示例图像和输出-

圆底座板:

使用上述方法发现的要点:

我可以发布更多这样的有问题的图片,但是这个图片应该给你一个关于我正在处理的问题的想法。我的问题是-

当图像中也有圆形板时,如何找到矩形板?

我想说几点,-

  1. 我试着用hough线来检测图像中的直线,找出最大的垂直线,然后找出它们的交叉点来检测角点。不幸的是,由于瓷砖,所有的线似乎被扭曲/断开,因此我的尝试失败了。
  2. 我还尝试将轮廓近似应用于图像中的所有轮廓(我假设大矩形也是等高线),但这种方法也失败了。
  3. 我已经在openCV中实现了这个解决方案。因为这里的方法才是最重要的,而且这个问题变得太长了,所以我没有发布相关的代码。

如果需要的话,我愿意分享更多这样有问题的图片。谢谢!

EDIT1 @Silencer的回答对我识别图像中的字母非常有帮助,但我想准确地找到图像中单词的位置。因此,我觉得识别行和列是必要的,只有在对板应用透视图转换时才能这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-25 10:06:51

我写了一个关于MSER文本检测的答案:

使用matplotlib绘制OpenCV的MSER区域

代码在图像上生成以下结果。

你可以试试。

票数 1
EN

Stack Overflow用户

发布于 2017-12-27 07:19:41

我认为消音器已经给出了很有希望的解决方案。

但是要执行透视转换,正如您前面提到的,您已经尝试过用hough线来查找最大的矩形,但是它失败了,因为现在的瓷砖已经出现了。

如果你有大的图像数据集,可能超过1000幅图像,你也可以给出一种基于深度学习的方法,你可以训练一个模型,以图像作为输入,相应的矩形边界点坐标作为输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47967070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档