Skip to content

Commit

Permalink
文档 ocr 排版分析更新
Browse files Browse the repository at this point in the history
  • Loading branch information
xushengfeng committed Oct 8, 2024
1 parent d7ebddb commit 1d58b2e
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions docs/develop/ocr.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@

通过分析,我们知道分栏的间距一般都会比句子空格大,或用线条或颜色分隔开。现在只考虑间距问题。

我们让矩形沿着行文方向左右延伸,合并重合的区域,随着延伸扩散像素的增加,合并后区域的数量会有两个突变,一个是行内空格合并后的突变,另一个是跨栏合并后的突变,我们取第一个突变的值进行扩散合并即可正确地合并为行。

其实在某个版本的优化中已经合并了,甚至不是排版处理阶段,但我没找到是哪个 commit,也可能是 v4 模型更新了。但行内处理在表格识别中仍有用。
我们把矩形按行分类,y 相差不大(0.5 高度)且直接间距小于高度的合一起。

### 分栏

Expand All @@ -50,7 +48,7 @@

有两种分段方式:通过空行和通过行首空格。

空行分段同样可以使用上面的扩散合并算法,但经过分栏后,基本纵轴只有一个矩形,就不需要扩散了,直接统计间距频度,以下是一个真实数据:
空行分段同样可以使用间距分析,直接统计间距频度,以下是一个真实数据:

```json
{
Expand All @@ -70,7 +68,7 @@
}
```

我们注意到 5-7 的位置应该是我们需要分段的间距:大于等于 7 的间距都是段间距,其他是行间距。取导数绝对值最大的即可。我还去除负数间隔减少判断,并去掉最大频率的数来减少极端数据的影响。
我们注意到 5-7 的位置应该是我们需要分段的间距:大于等于 7 的间距都是段间距,其他是行间距。取导数绝对值最大的即可。我还提升他们使其大于 0,并去掉最大频率的数来减少极端数据的影响。

<!-- ### 表格 -->

Expand Down

0 comments on commit 1d58b2e

Please sign in to comment.