这是我在 Stack Overflow 上的第一篇文章,如果问题没有得到足够的定义,我很抱歉。
我目前正在研究从图像中提取表格数据,我需要一种仅在垂直方向上扩展文本的方法,以便我可以获得清晰的列表示,用于进一步分割。
删除水平线和垂直线并按位转换图像后,我处于以下阶段:

这个问题的理想目标是:

有没有一种方法或算法对我的情况有帮助?
我收集了一些报纸,我的目标是获得几个 ROI 周围的边界框。具体来说,这些投资回报率是:
我正在使用 opencv 和 python 来达到预期的结果。我的做法如下:
我已经编写了适当的代码来实现此目的,但轮廓并不那么准确(更多内容将在后面介绍)。示例:我正在展示代码的行为方式:
正如您所看到的,它并没有检测那里的所有文章,而是将多篇文章的一部分组合到一个边界框中。我怎样才能让这个变得更好?我希望它更准确。我尝试了 Canny、扩张和模糊的参数,但没有取得更好的结果。这是我的代码:
import cv2
import imutils
import numpy as np
import random
# capture image
path = 'C:/Users/96171/Desktop/dataset_training/jpg/75120201.jpg'
image = cv2.imread(path)
image = imutils.resize(image, width=500)
resize_factor = 1
blur = cv2.GaussianBlur(image, (9, 9), 0)
cv2.imshow('Blurred', blur)
cv2.waitKey()
# this was the golden line that made it better
# edged = cv2.Canny(blur, 0, 150)
edged = cv2.Canny(blur, 0, 170)
cv2.imshow('Edged', edged)
cv2.waitKey()
# edged …Run Code Online (Sandbox Code Playgroud)