读取图像中格式规范的文字
图像中的文字最好是比较干净,且格式规范的。通常,格式规范的文字具有以下几个特点:
(1)使用一个标准的字体,不包含手写字体、草书,或者十分花哨的字体。
(2)经过复印或拍照,字体仍然很清晰,没有多余的痕迹或污点。
(3)排列整齐,没有歪歪斜斜的文字。
(4)文字没有超出图片的范围,没有残缺不全,或者紧紧地贴在图片的边缘。
图1展示了一张文字十分符合格式规范的图像,具体如下。
图1 符合文字规范的图像
对于图像中那些格式非常符合规范的文本而言,通过pytesseract识别且处理以后,读取到的文字跟图像中的文字基本完全一致,可识别的精准度是很高的,基本上可以达到90%以上。
以图1进行举例,使用pytesseract将图像中识别到的文本提取出来,具体代码如下。
# 导入模块
import pytesseract
from PIL import Image
# 将图像文件转换成Image实例
image = Image.open('test.jpg')
# 将图像中的文本转换成文本,进行输出
text = pytesseract.image_to_string(image)
print(text)
上述示例运行的结果如下:
This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
从示例结果可以看出,识别到的文本是很准确的,只有个别字符识别错误(如“^”识别成了双引号),整体上可以让人很舒服地阅读。