【发布时间】:2020-08-22 08:07:26
【问题描述】:
我正在尝试使用 openCV 和 Azure 读取从表中提取文本。目标是明智地提取文本列。因此,执行的第一步是检测图像(表)中的垂直线。现在使用这些垂直线的坐标作为极端边界,我们识别这些线之间的文本。
从而获得基于Vertical Line Filter的文本。
尽管脚本运行良好,但我观察到了一种情况,其中线坐标不适用于一种特定类型(A 型)的表格。所以调试后我们观察到问题出在表格的标题部分(仅适用于 A 类)。
因此,当我们消除(裁剪图像)表格(A 类)的标题部分时,垂直线坐标是合适的。
坐标的格式为(x,y,w,h)。 x 和 y 是垂直线的最高点。 w 是线的宽度。(在垂直线上它几乎是最大 2 像素)。 h 是垂直线的高度。
这里我附上两个场景: 1. 带标题的表格 - 给出错误的坐标。 Actual Image, Binarized Vertical lines of Actual Image
带有标题的垂直线的坐标(从左到右) - [(9, 0, 14, 439), (213, 0, 93, 426), (337, 28, 1, 398), (397, 29, 1, 410), (470, 29, 1, 397) , (522, 0, 12, 439)]
- 没有标题的表格 - 给出了适当的坐标。 Image without headings, Without headings
没有标题的垂直线的坐标(从左到右)- [(7, 0, 1, 404), (303, 0, 1, 391), (335, 0, 1, 391), (395, 0, 1, 404), (468, 0, 1, 391) , (531, 0, 1, 404)]
我们可以观察到第二条线的坐标变化很大,而其他线很接近。 所以问题是,带有标题的图像中的第二条垂直线坐标不正确。可能是什么原因?
【问题讨论】:
-
显示您的代码。欢迎来到堆栈溢出。请参加 tour (stackoverflow.com/tour) 并阅读帮助中心 (stackoverflow.com/help) 中的信息指南,尤其是“如何提出一个好问题”( stackoverflow.com/help/how-to-ask)、“什么是好的主题”(stackoverflow.com/help/on-topic) 和“如何创建最小的、可重现的示例”(stackoverflow.com/help/minimal-reproducible-example)。