python图片表格转excel表格_利用Python+Opencv+pytesser把图像识别为Excel表格

在日常工作、学习中,我们经常会拿到图片格式的表格数据,然后手动把数据输到excel中,如果数据较少的话,还可以,但是一旦数据较多,这个工作量将是难以想象的。

下面我们介绍一种利用Python+Opencv+pytesser把图像识别为Excel表格的方法。

首先看一下要处理的原始图片:

1.提取原图中的表格部分

对原图做垂直投影,见下图:

对原图做水平投影,见下图:

根据水平投影以及垂直投影的坐标,我们可以得出每个格子对应的图片。

以上图片仅仅是用于处理过程展示,可以根据实际需要进行处理。

2、分别对得到的每个图片进行识别

在这里我们使用用pytesser,OCR in Python using the Tesseract engine from Google。是谷歌OCR开源项目的一个模块,可将图片中的文字转换成文本。

result = pytesseract.image_to_string(Image.fromarray(region), "chi_sim", None, None)

3、重点、难点

由于pytesser对图片内容的要求比较高,所以处理的重点在于表格大小提取处理。在获取到表格位置后,我们可以根据实际情况来应对。在子图中最好能够去除表格的边框,这样识别率会有一个质的提高。

下面是处理结果:

姓 名|年 级|住 址|联 系 方 式|

张 三|42|深 圳 南 山|13812345678|

李 四|45|北 京 朝 阳|13999999999|

王 五|20|上 海 浦 东|13666666666|

赵 六|88|广 州 天 河|13333333333|

这里仅仅对规则表格进行了说明,对于不规则的表格可以采用由大到小递归的方式处理,至于效果如何,还没有进行验证,以后再进一步研究分享。

你可能感兴趣的:(python图片表格转excel表格_利用Python+Opencv+pytesser把图像识别为Excel表格)