环境要求:64位影刀 + python3.10
安装如下指定版本库:
需要低版本的torch和torchvision主要因为库之间的兼容性问题。
然后运行以下的代码(或相关的easyocr代码):
reader = easyocr.Reader(['ch_sim', 'en'])
# 识别本地图片(支持jpg、png等格式
result = reader.readtext(r'C:\Users\78586\Desktop\test.png')
print(result)即可成功
Q1:影刀运行不报错,但是一直卡住
A1:初次运行easyocr会下载一个模型到本地(C:\Users\用户名\.keras\models)这个地方,所以运行过程初次运行较慢,其实是在下载模型(依赖的预训练模型 和 获取特定的语言数据),这个可以开代理在本地pycharm或vscode运行easyocr相关代码加速下模型,然后运行完再到影刀运行

Q2:easyocr.Reader(['ch_sim', 'en'])行代码 报错AttributeError: module 'torch.backends' has no attribute 'mps'
A2:EasyOCR 认为你有 Mac 的 Metal 加速接口,但你的 PyTorch 环境不是 macOS 或者版本不支持。easyocr.Reader() 会自动检测可用的计算设备(CUDA / MPS / CPU), 所以该行可以改成
reader = easyocr.Reader(['ch_sim', 'en'], gpu=False)这样 EasyOCR 就不会去检查 CUDA 或 MPS 设备了,直接使用 CPU。
Q3:result = reader.readtext(r"C:\Users\19898\Desktop\微信图片_20251105155310_77_1.png")报错"None"没有"shape"属性或方法
A3:EasyOCR 底层使用的OpenCV在处理中文路径时存在编码问题,文件路径包含中文字符,可将图片重命名为英文;或换成如下代码:
import easyocr
import cv2
import numpy as np
from PIL import Image
def readtext_chinese_path(image_path):
"""读取中文路径图片的 OCR 函数"""
# 使用 PIL 读取图片(PIL 对中文路径支持更好)
pil_image = Image.open(image_path)
# 转换为 OpenCV 格式 (BGR)
img_cv = cv2.cvtColor(np.array(pil_image), cv2.COLOR_RGB2BGR)
# 使用 EasyOCR
reader = easyocr.Reader(['ch_sim', 'en'])
result = reader.readtext(img_cv) # 传入图像对象而不是路径
return result
result = readtext_chinese_path(r"C:\Users\19898\Desktop\中文图片.png")
print(result)