You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用EasyOCR的readtext方法触发错误,请求故障排查

故障排查与解决方法

故障原因分析

  1. 图片文件异常:日志中重复出现PNG文件流(IHDR/PLTE/IDAT),且提示Operation on closed image,说明sign.png可能存在损坏、格式不规范(如多帧PNG)或资源读取冲突。
  2. CPU指令集不兼容:错误码0xC000001D是Windows系统的非法指令错误,EasyOCR的预训练模型可能使用了当前CPU不支持的高级指令集(如AVX2),在CPU模式下触发报错。
  3. 依赖库版本冲突:Pillow、OpenCV、EasyOCR或PyTorch之间的版本不匹配,导致图片处理时出现资源过早释放的问题。
  4. 预训练模型损坏:./model目录下的模型文件可能未下载完整或已损坏,导致模型加载或推理时出错。

分步解决方法

1. 验证并修复图片

  • 用图片编辑工具(如系统画图、Photoshop)打开sign.png,重新保存为标准单帧PNG格式,或转换为JPG格式后重试。
  • 用代码验证图片完整性:
    from PIL import Image
    try:
        img = Image.open('sign.png')
        img.verify()  # 验证图片完整性
        img = Image.open('sign.png')  # 重新打开加载
        print("图片文件正常")
    except Exception as e:
        print(f"图片损坏或格式错误:{str(e)}")
    

2. 解决CPU指令集问题

  • 如果有NVIDIA显卡,将代码中gpu=False改为gpu=True,切换到GPU运行(GPU模式不受CPU指令集限制)。
  • 若只能用CPU,尝试安装适配旧CPU的EasyOCR版本,或从源码编译时禁用AVX2等高级指令集。

3. 修复依赖库版本

卸载现有冲突依赖,重新安装兼容版本:

pip uninstall easyocr pillow opencv-python torch -y
pip install easyocr pillow==9.5.0 opencv-python==4.8.0 torch==2.0.1+cpu --index-url https://download.pytorch.org/whl/cpu

4. 重新下载预训练模型

  • 删除./model目录下的所有文件。
  • 重新运行代码,让EasyOCR自动重新下载完整的英文识别模型。

5. 调整图片读取方式

手动读取图片后再传入readtext,避免自动读取时的资源冲突:

import cv2
# 手动读取图片
img = cv2.imread('sign.png')
if img is not None:
    result = reader.readtext(img)
    print(result)
else:
    print("无法读取图片文件")

内容的提问来源于stack exchange,提问作者Dawn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 19:06:27