这几天有个需求是从图片识别出文字,试了几个轮子,感觉easyocr效果最好。
但有个问题,我在测试本地图片时,没有问题。但我希望直接通过链接来识别网络图片。
我尝试这样写,但是报错的,具体如下,请各位大佬交流、指教,感谢。
[Python] 纯文本查看 复制代码 from PIL import Image
import requests
from io import BytesIO
import easyocr
print('开始')
# 设置语言
reader = easyocr.Reader(['ch_sim', 'en'], gpu=False)
# 本地文件正常输出识别结果
# result = reader.readtext(r'D:\Files\python\img_to_str\img2.jpg', detail=0)
# 尝试直接识别网格图片
img = Image.open(BytesIO(requests.get(
"https://img.alicdn.com/bao/uploaded/i4/6000000004395/O1CN015dL7Fj1iKxTvPBQ7Z_!!6000000004395-0-picassoopen.jpg").content))
# 剪裁出右下角
img = img.crop((586, 680, 800, 800))
# 输出<PIL.Image.Image image mode=RGB size=214x120 at 0x1DB7F8D26B0>
print(img)
# 网格文件报错ValueError: Invalid input type. Supporting format = string(file path or url), bytes, numpy array
result = reader.readtext(img, detail=0)
print(result) |