在这里,我使用Google Vision API来检测以下图像中的文本。红色框表示我想要获取的组合边界框的示例。
基本上,我从上面的图像中获取文本输出和边界框。在这里,我想要合并位于同一行(从左到右)的边界框和文本。例如,第一行将被合并在一起:
[{'description': 'บริษัทไปรษณีย์ไทย',
'vertices': [(528, 202), (741, 202), (741, 222), (528, 222)]},
{'description': 'จํากัด',
'vertices': [(754, 204), (809, 204), (809, 222), (754, 222)]},
...
到
[{'description': 'บริษัทไปรษณีย์ไทยจำกัด',
'vertices': [(528, 202), (809, 202), (809, 222), (528, 222)]},
...
以下是这些行
{'description': 'RP',
'vertices': [(729, 1072), (758, 1072), (758, 1091), (729, 1091)]},
{'description': '8147',
'vertices': [(768, 1072), (822, 1072), (822, 1092), (768, 1092)]},
{'description': '3609',
'vertices': [(834, 1073), (889, 1073), (889, 1093), (834, 1093)]},
{'description': '7',
'vertices': [(900, 1073), (911, 1073), (911, 1092), (900, 1092)]},
{'description': 'TH',
将被合并在一起。
当前方法
我研究了以下两种方法: - 使用OpenCV的解决方案 - 非最大值抑制算法 但是,由于这些方法都依赖于重叠像素的百分比,因此无法满足我的特定需求。如果有人能提供帮助,那将非常好!
请尝试在此处使用边界框数据:https://gist.github.com/titipata/fd44572f7f6c3cc1dfbac05fb86f6081