环境
$ python --version
Python 3.10.12
安装
pip install paddlepaddle paddleocr
安装缓慢或无法下载请参考 全平台命令行换源工具 安装chsrc工具,然后执行./chsrc-x64-linux list pip
试用
提前准备一个图像文件XXX.jpg
,使用python执行如下代码
import cv2
from paddleocr import PaddleOCR
# 使用默认模型路径
paddleocr = PaddleOCR(lang='ch', show_log=False)
img = cv2.imread('XXX.jpg') # 打开需要识别的图片
result = paddleocr.ocr(img)
for i in range(len(result[0])):
print(result[0][i][1][0]) # 输出识别结果
将上述代码保存为ocr.py
,然后执行python3 ocr.py
,首次运行会联网加载模型文件。
$ python3 ocr.py
便携式串口调试助手VO.3RCCINZYLAB
帮助网址只出现一次
√
COM1
4800,N,8,1
打开
关闭
HEX
C
帮助
口定时
1000
发送
图片内容如下
问题解决
执行报错
$ python3 ocr.py
[2024/06/28 14:57:02] ppocr DEBUG: Namespace(help='==SUPPRESS==', use_gpu=False, use_xpu=False, use_npu=Fal)
--------------------------------------
C++ Traceback (most recent call last):
--------------------------------------
0 paddle_infer::Predictor::Predictor(paddle::AnalysisConfig const&)
1 std::unique_ptr<paddle::PaddlePredictor, std::default_delete<paddle::PaddlePredictor> > paddle::CreateP)
2 paddle::AnalysisPredictor::Init(std::shared_ptr<paddle::framework::Scope> const&, std::shared_ptr<paddl)
3 paddle::AnalysisPredictor::PrepareProgram(std::shared_ptr<paddle::framework::ProgramDesc> const&)
4 paddle::AnalysisPredictor::OptimizeInferenceProgram()
5 paddle::inference::analysis::Analyzer::RunAnalysis(paddle::inference::analysis::Argument*)
6 paddle::inference::analysis::IrAnalysisPass::RunImpl(paddle::inference::analysis::Argument*)
7 paddle::inference::analysis::IRPassManager::Apply(std::unique_ptr<paddle::framework::ir::Graph, std::de)
8 paddle::framework::ir::Pass::Apply(paddle::framework::ir::Graph*) const
9 paddle::framework::ir::SelfAttentionFusePass::ApplyImpl(paddle::framework::ir::Graph*) const
10 paddle::framework::ir::GraphPatternDetector::operator()(paddle::framework::ir::Graph*, std::function<vo)
----------------------
Error Message Summary:
----------------------
FatalError: `Illegal instruction` is detected by the operating system.
[TimeInfo: *** Aborted at 1719557822 (unix time) try "date -d @1719557822" if you are using GNU date ***]
[SignalInfo: *** SIGILL (@0x7fea18c5a13a) received by PID 2403607 (TID 0x7fea4047e000) from PID 415605050]
部分CPU版本会遇到,重新安装paddlepaddle 2.5.2版本即可解决
pip install paddlepaddle==2.5.2
后续考虑该模型的实际应用,欢迎小伙伴留言提供思路