一、前言
之前用过easyOCR进行图片文字识别,挺好用,而且还使用了GPU进行解算。时隔一年,居然在新电脑上重新搭建时,遇到了困难。因此写这篇日志记录自己的失败经历。
之前的工程打开后,出现错误,二话没说,用pycharm的建议纠错功能,直接安装库,如下
然后就悲剧了,虽然能运行起来,但是用的是CPU进行的图片解码,浪费我这3060显卡了。
随后又各种找解决方案,基本都很麻烦。
二、正确的姿势
其实,以上问题解决办法很简单,把工程目录下的 .venv 文件夹直接删除(可能会提示被占用删除不掉,这时候关闭pycharm,删除后再打开工程),我的路径是E:\thdesign\pythonProject\easyOCR.venv,重新打开工程后会提示配置编译器,重新配置一下,然后是重点,按照如下步骤开始设置:
1.安装torch-GPU
打开pycharm的terminal
输入:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
等待torch安装完毕。安装文件大约在2.5GB,网速慢的同志慢慢等待。
我这里选择的是GPU版本。具体语句的选择可以通过这个网页进行:
PyTorch https://pytorch.org/![](https://img-blog.csdnimg.cn/direct/4d889fedf1f74c2996c11882ac9ff819.png)
测试是否安装成功可以运行以下语句:
import torch
print(torch.cuda.is_available())
如果像我这样输出true,说明GPU版本的torch运行成功。(重点你得安装了NVIDIA的显卡,至少也得是个1660的显卡,一般的显卡解算会很慢)
中间可能还会提示你缺少numpy库,这个可以自行安装,在terminal里输入:
pip install numpy
2.安装easyocr
还是在pycharm中的terminal里,输入:
pip3 install easyocr
等待easyocr安装完毕。
3.验证劳动成果
最后,输入代码,开始你的图片识别之旅吧。
# coding=gbk
import easyocr
import datetime
import os
print('正在预热')
# 打开文件
COOKED_FOLDER = './screenshot/' # 文件夹的地址
dirs = os.listdir(COOKED_FOLDER)
# 输出所有文件和文件夹
files = []
for file in dirs:
files.append(file)
reader = easyocr.Reader(['ch_sim','en'],gpu=True)
print('准备完毕,开始解算')
i = 0
for m in range(20):
for f in files:
t0 = datetime.datetime.now()
result = reader.readtext(fr'./screenshot/{f}')
for t in result:
print(t)
t1 = datetime.datetime.now()
m += 1
print('第%d轮用时%s秒' % (m, (t1 - t0).total_seconds()))
以上代码需要在脚本所在目录下新建一个screenshot文件夹,并放入至少一个图片。
对以上图片的识别如下:识别效率还是可以的。
第12轮用时0.565215秒
([[66, 12], [161, 12], [161, 44], [66, 44]], 'VzFlyorg', 0.4099767988543415)
([[20, 88], [98, 88], [98, 114], [20, 114]], '快速开始', 0.9828258752822876)
([[357, 81], [505, 81], [505, 125], [357, 125]], '工作机制', 0.9952630400657654)
([[34, 124], [104, 124], [104, 148], [34, 148]], '下载安装', 0.8724617958068848)
([[32, 158], [102, 158], [102, 182], [32, 182]], '新手上路', 0.46995115280151367)
([[357, 165], [525, 165], [525, 201], [357, 201]], '单服务器模式', 0.9058961151124023)
([[22, 208], [62, 208], [62, 232], [22, 232]], '原理', 0.9970070328365206)
([[357, 220], [620, 220], [620, 244], [357, 244]], '与其它的网络代理工烹一样。你需要', 0.20510522572515366)
([[626, 220], [698, 220], [698, 244], [626, 244]], '-台配置了', 0.6721795350766934)
([[32, 244], [104, 244], [104, 268], [32, 268]], '工作机制', 0.9927354454994202)
([[46, 276], [140, 276], [140, 296], [46, 296]], '单服务器模式', 0.6106897989378409)
([[476, 276], [532, 276], [532, 300], [476, 300]], '防火墙', 0.9763922523808378)
([[45, 305], [111, 305], [111, 325], [45, 325]], '桥接椟式', 0.2633473873138428)
([[609, 323], [681, 323], [681, 343], [609, 343]], '墙外网站', 0.9814776182174683)
([[44, 332], [112, 332], [112, 356], [44, 356]], '工作原瑾', 0.34180718660354614)
([[34, 364], [120, 364], [120, 388], [34, 388]], '命令行参数', 0.9893613375538658)
([[375, 369], [399, 369], [399, 387], [375, 387]], 'PC', 0.9797046021737585)
([[463, 369], [547, 369], [547, 389], [463, 389]], 'V2RayIVPS', 0.6724907592324295)
([[22, 412], [60, 412], [60, 436], [22, 436]], '憨', 0.0007511044347866293)
([[34, 450], [104, 450], [104, 474], [34, 474]], '常见问题', 0.9089435935020447)
([[468, 456], [540, 456], [540, 480], [468, 480]], '墙内网站', 0.9798458814620972)
([[33, 485], [101, 485], [101, 505], [33, 505]], '寻求帮助', 0.6446621417999268)
([[391, 522], [702, 522], [702, 548], [391, 548]], ' VZRay 服务器可同时支持多台设备使用不同', 0.3412604563604555)
如果还遇到什么问题,可以联系我。
三、部分教程可参阅以下内容
1.开源项目|EasyOCR一款实用的图片OCR文字识别项目_easyocr模块-CSDN博客
2.一个超级简单且强大的OCR文本识别工具:easyocr 识别图片中的任意语言文字_日文easyocr识别-CSDN博客
3.Python光学字符识别工具-EasyOCR安装与使用(Win10)_downloading detection model, please wait. this may-CSDN博客
4.Pycharm里配置Pytorch-gpu(运行informer算法模型)_pycharm如何使用gpu-CSDN博客
5.Cuda和cuDNN安装教程(超级详细)-CSDN博客
版权归原作者 th152210 所有, 如有侵权,请联系我们删除。