运行代码:
import easyocr
from pathlib import Path
WORK_PATH = Path('E:/test')
WORK_FILE = '图片_1.jpg'
reader = easyocr.Reader(['ch_sim', 'en'], gpu = False)
result = reader.readtext((WORK_PATH / WORK_FILE), detail = 0)
result
产生如下异常(第一个异常):
ValueError: Invalid input type. Supporting format = string(file path or url), bytes, numpy array
发生此 ValueError 异常的原因是 pathlib 与 EasyOCR 的不兼容。修改代码如下,则出现 AttributeError (下一个异常)。
import easyocr
from pathlib import Path
WORK_PATH = Path('E:/test')
WORK_FILE = '图片_1.jpg'
reader = easyocr.Reader(['ch_sim', 'en'], gpu = False)
result = reader.readtext((WORK_PATH / WORK_FILE).as_posix(), detail = 0)
result
AttributeError: 'NoneType' object has no attribute 'shape'
发生此 AttributeError 异常的原因竟然是 文件名有中文 含有中文。修改文件名如下,则代码正常:
import easyocr
from pathlib import Path
WORK_PATH = Path('E:/test')
WORK_FILE = 'pic_1.jpg'
reader = easyocr.Reader(['ch_sim', 'en'], gpu = False)
result = reader.readtext((WORK_PATH / WORK_FILE).as_posix(), detail = 0)
result
内容输出如下:
['EasyoCR测试图片',
'TIOBE排行榜是根据互联网上有经验的程序员',
'课程和第三方',
'厂商的数量',
'并使用搜索引擎 (如Google Bing',
'Yahoo!)',
'以及',
'Wikipedia',
'Amazon',
'YouTube和Baidu (百度)统计出排名数据,',
'只是反映某个编程语言的热门程度。并不能说明一门编程语言好不',
'好。或者一门语言所编写的代码数量多少',
'人生苦短。我用 Python',
'序号',
'编程语言',
'分数',
'Python',
'大大大大大',
'2',
'C',
'大大大大众',
'3',
'JAVA',
'大大大众众',
'4',
'C ++',
'大大众众众',
'5',
'C#',
'大众众众众']