借助Tesseract软件OCR进行文本检测(2)

(3)程序实现

经过 借助Tesseract软件OCR进行文本检测(1)_没有水的海绵的博客-CSDN博客的学习,相信博友对如何实现下图所示的效果有了些许猜想,通过pytesseract类中的image_to_boxes和image_to_data函数可以得到有关识别文本的位置、大小和文本内容等信息,经过一些转换便可以实现下图所示效果。而上一篇讲解的3个函数中的image_to_string的输出仅仅是识别到每行的文本内容,不适用于实时文本识别更适合用于扫描文本提取文本内容,例如将pdf文档中的文本导入到txt文档中(区别真假换行,消除假换行的影响,加个判断即可实现)。

 ①boxes数据处理实现检测

 image_to_boxes的输出上一篇中已经展示,现以第一行为例讲解:S 211 486 329 580 0。首先输出的是一串字符串,字符串内的数据由空格隔断,第一步要做的是将string形式转换为list形式,即将第一行数据转换为['S', '211', '486', '329', '580', '0']。通过两步可实现:通过boxes.splitlines()将boxes按行分割,输出为list形式的数据;假设b为boxes中的某行元素为string形式,b.split(' ')将b中空格两端的字符串分割为列表的元素。最终boxes处理后的结果如下:

['S', '211', '486', '329', '580', '0']
['p', '331', '429', '407', '565', '0']
['o', '422', '480', '480', '563', '0']
['n', '498', '485', '596', '559', '0']
['g', '601', '440', '681', '568', '0']
['e', '701', '479', '753', '570', '0']
["'", '770', '545', '794', '586', '0']
['s', '797', '485', '865', '566', '0']
['T', '917', '482', '1031', '579', '0']
['e', '1024', '479', '1077', '570', '0']
['s', '1081', '485', '1149', '566', '0']
['t', '1153', '486', '1218', '589', '0']
['O', '314', '250', '348', '288', '0']
['C', '354', '250', '382', '288', '0']
['R', '388', '251', '411', '287', '0']
['d', '430', '250', '454', '288', '0&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值