易语言基于飞浆的本地ocr文字识别 win7 win10 无网离线 都可用,图片/截图/字节集...
易语言基于飞浆的本地ocr文字识别 win7 win10 无网离线 都可用,图片/截图/字节集参数都可识别,使用模块调用dll,免库,体积小简单方便,某些特殊图片(比如字体超大或者方向倾斜)的识别需要调整文档的参数(和飞浆的官方使用方法相同),且模块可直接导入模型文件。
最近在倒腾易语言OCR本地识别方案的时候发现个好东西——基于飞桨PaddleOCR封装的易语言模块。这玩意儿不用联网、不挑系统(Win7/Win10通吃),重点是不用装乱七八糟的运行库,直接甩个DLL和模型文件就能干活。

先看个最简单的调用姿势:
.版本 2
.子程序 识别图片文字
.局部变量 识别结果, 文本型
识别结果 = PaddleOCR_识别 ("D:\\截图.png", , )
信息框 (识别结果, 0, , )
就这三行代码直接出结果,模块自动加载同目录下的paddle_ocr.dll和模型文件。实测发现比某些需要装VC运行库的方案省心太多,特别是给客户部署的时候不会出幺蛾子。
处理截图或者字节集数据更带劲:
.局部变量 字节集数据, 字节集
.局部变量 识别结果, 文本型
字节集数据 = 快照(, , ) // 截取屏幕
识别结果 = PaddleOCR_识别字节集(字节集数据, , )
编辑框1.内容 = 识别结果
直接怼屏幕截图进去识别,适合做自动化工具。有个坑得注意:字节集数据太大时记得用压缩参数,不然内存容易炸。

易语言基于飞浆的本地ocr文字识别 win7 win10 无网离线 都可用,图片/截图/字节集参数都可识别,使用模块调用dll,免库,体积小简单方便,某些特殊图片(比如字体超大或者方向倾斜)的识别需要调整文档的参数(和飞浆的官方使用方法相同),且模块可直接导入模型文件。
碰到字体巨大或者倾斜的妖孽图片,得祭出飞桨的参数大法:
.局部变量 高级参数, 高级识别参数
高级参数.方向分类 = 真
高级参数.缩放比例 = 2.5
高级参数.识别方向 = 90
识别结果 = PaddleOCR_识别高级("特殊图片.jpg", 高级参数, )
这个缩放比例参数实测对超大字号识别效果拔群,原理应该是把图片等比例缩小后再扔给模型处理。方向参数建议用90度倍数调整,非直角调整需要改模型文件。

模型文件切换也简单,直接把新版模型扔到模块目录,在初始化时指定:
.版本 2
.子程序 __启动窗口_创建完毕
PaddleOCR_初始化Ex("v4模型", "cls_model_dir", "det_model_dir")
目录结构按飞桨官方文档的模型结构存放就行。实测从v2到v4模型都能用,但v4模型体积大了20M,识别精度确实有提升。
最后提醒下,离线环境部署记得把这三个东西打包:
- 模块自带的paddle_ocr.dll
- 模型文件目录(默认ppocr)
- vcomp140.dll(Win7需要,Win10自带)
实测在4G内存的老爷机上跑得动,识别速度比在线API慢点但能接受。建议处理大批量图片时用线程调用,不然界面容易卡成PPT。

更多推荐


所有评论(0)