吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1530|回复: 4
收起左侧

[求助] python easyocr直接识别网络图片的问题

[复制链接]
cqwcns 发表于 2022-8-3 17:13
这几天有个需求是从图片识别出文字,试了几个轮子,感觉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)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

woflant 发表于 2022-8-3 17:32
建议先把图片下载到本地测试,再进行在线识别,避免干扰因素
grekevin 发表于 2022-8-3 19:04
[Python] 纯文本查看 复制代码
img = img.crop((586, 680, 800, 800))
img_io_stream = io.BytesIO()
img.save(img_io_stream, format='PNG')
img_bytes = img_io_stream.getvalue()
result = reader.readtext(img_bytes, detail=0)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

yippee 发表于 2022-8-3 19:50
 楼主| cqwcns 发表于 2022-8-4 09:07
3楼的方法可行,测试实现需求。
不知道还有没有优化的空间。


欢迎交流,谢谢。

[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))

img_io_stream = BytesIO()
img.save(img_io_stream, format='PNG')
img_bytes = img_io_stream.getvalue()
result = reader.readtext(img_bytes, detail=0)

print(result)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表