在扫描的文档中分割文本行

我正在尝试寻找一种方法来打破已自适应阈值的扫描文档中的文本行。现在,我将文档的像素值存储为0到255之间的无符号整数,并获取每行像素的平均值,然后根据像素值的平均值是否为0将行划分为多个范围大于250,然后将其取为各行范围的中值。但是,此方法有时会失败,因为图像上可能会出现黑色斑点。


有没有更抗噪的方法来执行此任务?


编辑:这是一些代码。“扭曲”是原始图像的名称,“剪切”是我要分割图像的位置。


warped = threshold_adaptive(warped, 250, offset = 10)

warped = warped.astype("uint8") * 255


# get areas where we can split image on whitespace to make OCR more accurate

color_level = np.array([np.sum(line) / len(line) for line in warped])

cuts = []

i = 0

while(i < len(color_level)):

    if color_level[i] > 250:

        begin = i

        while(color_level[i] > 250):

            i += 1

        cuts.append((i + begin)/2) # middle of the whitespace region

    else:

        i += 1


胡子哥哥
浏览 604回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python