whai362 / PSENet

Official Pytorch implementations of PSENet.
Apache License 2.0
1.17k stars 344 forks source link

合并文本框 #99

Open luckydog5 opened 5 years ago

luckydog5 commented 5 years ago

如何合并pse给出的文本框? 15 如何合并图中的文本框,请给我一些建议,🙏。

whai362 commented 5 years ago

我觉得从标注上把他们标注为一行,然后重新训练网络可能会比较好。 从图里面的结果看来,这是word level的,然后您这边需要line level的标注。 这是两种不同级别的标注方案。

xdker commented 4 years ago

每个bbox的中心点向y轴 投影 可以分行 行内再排个序就行了

luckydog5 commented 4 years ago

@xdker 我这个是两栏式的,如果投影的话,左右两栏的文本会被连在一起,可以通过设置一个阈值分开左右两栏的文本,但是很难找到一个阈值覆盖所有的两栏式的文本。

chen849157649 commented 4 years ago

文本框未合并的效果 img (2)

合并文本框之后的效果,水平框距离多远需要合并,根据阈值操作 test (2)

mayidu commented 4 years ago

请问一下你是怎样实现矩形框合并的 @chen849157649

chen849157649 commented 4 years ago

请问一下你是怎样实现矩形框合并的 @chen849157649

@mayidu ,点击https://github.com/xiaomaxiao/PSENET/blob/master/predict.py#L64,这个项目中写了文本框合并操作。你参考看看

mayidu commented 4 years ago

感谢!

jiangzz1628 commented 4 years ago

@chen849157649 大神你好,你发的那个合并框的链接过期啦,能否再发一个,想了解一下怎么做的

chen849157649 commented 4 years ago

@chen849157649 大神你好,你发的那个合并框的链接过期啦,能否再发一个,想了解一下怎么做的

@jiangzz1628 复制链接到浏览器再打开

Lanme commented 4 years ago

那个PSENET合并的是水平框,我比较想知道那些带角度的框怎么合并的?比如两个同一角度的文本行,检测两个框却是一个水平一个倾斜,这种有思路么?

interestingzhuo commented 4 years ago

那个PSENET合并的是水平框,我比较想知道那些带角度的框怎么合并的?比如两个同一角度的文本行,检测两个框却是一个水平一个倾斜,这种有思路么?

github上有个table-ocr的项目,里面有根据斜率合并的版本https://github.com/chineseocr/table-ocr

HCMY commented 2 years ago
def draw_bbox(bboxs,img):
    bboxs_res = []
    for bbox in bboxs:
        bbox = np.reshape(bbox,(4,2))
        cv2.drawContours(img, [bbox],-1, (0, 255, 0), 2)
        bboxs_res.append(bbox)
    return bboxs_res, img

 box = self.detector.predict(img_path) #作者模型的输出
  img = cv2.imread(img_path)
  bboxs_res, box_img = draw_bbox(box['bboxes'], img)