gpt4 book ai didi

opencv - 分析手绘流程图

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:39 30 4
gpt4 key购买 nike

我正在尝试检测手绘图中的对象和文本。

我的目标是能够“解析”类似 this 的内容为进一步处理的对象结构。我的第一个目标是检测文本、线条和方框(箭头等……不重要(目前 ;))

我可以进行膨胀、侵 eclipse 、Otsu 阈值化、反转等操作,并轻松获得类似 this 的结果

接下来的步骤我需要一些指导。我有几个想法:

  1. 轮廓分析
  2. 使用 UNIPEN 进行 OCR
  3. 边缘检测

轮廓分析

我一直在 CodeProject 上阅读“C# 中图像识别的轮廓分析”,这可能是识别框等的好方法,但我的问题是框是连接的,因此不会形成单独的对象来匹配一个模板。因此,如果这是可行的方法,我需要一些建议。

使用 UNIPEN 的 OCR

我想使用 UNIPEN(请参阅 CodeProject 上的“使用多神经网络的大型模式识别系统”)来识别手写字母,然后将它们从图像中“移除”,只留下方框和线条。

边缘检测另一种方法是检测所有的线和角,并以这种方式推断出图像所包含的框和线。在那种情况下,有关如何拉直线条和找到 90 度角的想法会很有帮助。

一般来说,我认为我只需要一些关于应用哪种策略的指示,而不是代码示例(尽管它会很棒 ;))

最佳答案

我将尝试回答有关等高线分析和它们之间的界限的问题。

如果您需要将相互连接的盒子变成单独的对象,那可以很容易地实现:

  1. 用形态学闭合闭合盒子边缘的间隙
  2. 执行连接组件标记并寻找紧凑对象(例如,其面积接近其边界框区域的对象)

您将得到盒子的内部。这些可以是椭圆形或矩形或您可以在普通图表中找到的任何形状,等高线分析可以告诉您是哪个。封闭的背景区域可能会出现问题(例如示例图中 ABC 链接之间的空间)。您可以根据它们的边界框与多个其他对象的边界框重叠的标准来消除它们。

现在使用 HoughLinesP 查找线段。如果一个片段在其中一个对象的边缘的特定距离内结束或开始,您可以假设它连接到该对象。

作为补充,您可以尝试通过检查端点附近线段的宽度轮廓来检测两侧的箭头末端。

这道题很有意思,我会努力记住它,交给我的学生咬紧牙关。

关于opencv - 分析手绘流程图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947587/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com