gpt4 book ai didi

python - 使用 python 计算表格图像中的内部表

转载 作者:行者123 更新时间:2023-11-28 18:13:06 25 4
gpt4 key购买 nike

我得到了一张图片(一张长方形的表格),它又被分成了一些内部表格。问题是使用 python 获取这些内部表的计数。谁能建议我如何进行?检查下面的示例图像

示例图片

我需要得到 count = 78 个表

最佳答案

您可以将图像转换为二进制,计算图像行的像素强度总和,计算其中的峰值,然后计算图像列的像素强度总和,计算其中的峰值。这些将是图像中发现的水平线和垂直线的数量。然后N = (num_of_horizo​​ntal_lines - 1) * (num_of_vertical_lines - 1)

示例代码(使用 numpyPillow ):

>>> from PIL import Image
>>> import numpy as np
>>> im = np.array(Image.open('cJyt5.png').convert('L'))
>>> threshold = np.histogram(im, 2)[1][1]
>>> im2 = im < threshold
>>> vert_lines = sum(np.mean(im2, axis=0) > 0.5)
>>> horiz_lines = sum(np.mean(im2, axis=1) > 0.5)
>>> (vert_lines - 1) * (horiz_lines - 1)
78

如果线条超过 1 像素粗,您需要稍微更改代码以不考虑 np.mean(...) > 0.5 中的多个连续 True

一个简单的技巧是执行 sum(np.max(0, np.diff(np.mean(...) > 0.5))) 来计算来自 FalseTrue。 (未测试)

关于python - 使用 python 计算表格图像中的内部表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50056380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com