在图像中组合水平对齐的多边形

Combine horizontally aligned polygons in a image

我有一张图像,我正在使用 Google Vision API 对其执行 OCR,我得到的结果包含每个单词的多边形顶点。绘制多边形后图像看起来像这样.. 我现在想组合水平对齐的框。例如:(销售项目),(S000828749 MB 短裤 12.00),...,(小计 146.00)

我尝试过的事情: 我从垂直边缘的中点画了一条线,并将其延伸到图像边缘,计算了这条线接触了多少个多边形,并用与该线相同的颜色对多边形进行了颜色编码。我得到了这样一张图片..

不确定如何继续并在单行上获取组..

通过以下方法解决了这个问题。
1. 每个盒子都会有一个标签列表,这些标签被初始化为 [].
2. 按 x 坐标对框进行排序。
3. 将tad初始化为0。标签只是单独的标识符,我们的目标是用相同的标签在同一行分配框。
3. 遍历每个框。
4. 如果标签列表为空,则增加标签值并将其附加到该框的标签列表中。
5. 遍历outer box的所有boxes,并为outer box的轴线接触到的每个boxes分配相同的标签。
6. 如果标签列表不为空,则取标签列表中出现次数最多的标签。
这是 N^2 算法,其中 N 是框数。