Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PaddleOCR v2.6新特征与C++编译推理详细步骤演示

PaddleOCR v2.6新特征与C++编译推理详细步骤演示

作者头像
Color Space
发布于 2022-09-26 02:39:24
发布于 2022-09-26 02:39:24
3.3K11
代码可运行
举报
运行总次数:1
代码可运行

导读

本文主要介绍PaddleOCR v2.6的新特征与C++编译推理详细步骤演示。(公众号:OpenCV与AI深度学习

PaddleOCR 2.6 8月24日PaddleOCR更新了2.6版本,下面是主要更新内容:

详细介绍请查看对应github: https://github.com/PaddlePaddle/PaddleOCR 往前相关PaddleOCR内容:

C++编译与推理 C++编译与推理详细步骤如下: 【1】下载PaddleOCR 2.6源码,解压之后在PaddleOCR-release-2.6\deploy\cpp_infer下新建build文件夹

【2】下载paddle_inference推理库文件并解压:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://paddle-inference.readthedocs.io/en/master/guides/install/download_lib.html#windows

以CPU版本为例:

【3】CMake编译,CMake版本建议3.16及以上。注意下面几个目录设置,OpenCV_DIR(自己下载OpenCV4.5或以上版本)、PADDLE_LIB(第2步下载解压后的目录)

如果提示找不到Git目录,需要自己下载Git(https://git-scm.com/)并将bin目录加入环境变量,然后重启CMake再点Config,然后Generate。

【4】CMake编译完成后,打开ppocr.sln,选择生成ALL_BUILD项目。

可能的报错:

(1) 无法打开包括文件: “dirent.h”: No such file or directory

------解决方法:下载dirent(https://github.com/tronkko/dirent),引用到工程,添加到ppocr项目的包含目录:D:\PaddleOCR\dirent-master;D:\PaddleOCR\dirent-master\include;

(2) mkdir找不到标识符

------解决方法:修改添加:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifdef MSC_VER
  mkdir(FLAGS_output.c_str(), 0777);
#endif

【5】上述步骤完成后已可以成功生成ppocr.exe,接下来需要下载推理模型:

(1) 英文识别推理,先下载英文推理模型并解压:

然后拷贝en_dict.txt到ppocr.exe同目录,修改代码中的设置,重新生成项目。

找一张测试图:

命令行运行指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ppocr.exe --det_model_dir=./model_1/en_PP-OCRv3_det_infer/ --rec_model_dir=./model_1/en_PP-OCRv3_rec_infer/ --image_dir=./imgs/

推理结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./imgs\1.JPG
0       det boxes: [[12,53],[636,48],[636,102],[12,107]] rec text: Improve Brand Awareness rec score: 0.960821
1       det boxes: [[95,137],[573,143],[572,197],[94,191]] rec text: The Best to Rely on rec score: 0.941508
The detection visualized image saved in ./output//1.JPG

(2) 中英文识别推理,先下载中英文推理模型并解压:

然后拷贝ppocr_keys_v1.txt到ppocr.exe同目录,修改代码中的设置,重新生成项目。

找两张测试图:

命令行运行指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ppocr.exe --det_model_dir=./model_2/ch_PP-OCRv3_det_infer/ --rec_model_dir=./model_2/ch_PP-OCRv3_rec_infer/ --image_dir=./imgs/

推理结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./imgs\2.JPG
0       det boxes: [[387,29],[457,27],[457,48],[387,50]] rec text: xuetian rec score: 0.893902
1       det boxes: [[369,50],[475,50],[475,82],[369,82]] rec text: 《雪天》 rec score: 0.986969
2       det boxes: [[362,106],[482,106],[482,130],[362,130]] rec text: 作者:贾浅浅 rec score: 0.942913
3       det boxes: [[299,151],[535,150],[535,170],[299,171]] rec text: women yi qi qu niaoniao rec score: 0.896251
4       det boxes: [[297,173],[542,171],[542,199],[297,201]] rec text: 我们一起去尿尿, rec score: 0.839751
5       det boxes: [[314,236],[336,236],[336,248],[314,248]] rec text: n rec score: 0.433731
6       det boxes: [[351,233],[525,233],[525,250],[351,250]] rec text: niao leyi tiaoxian rec score: 0.925806
7       det boxes: [[309,253],[536,253],[536,283],[309,283]] rec text: 你,尿了一条线, rec score: 0.935438
8       det boxes: [[311,317],[336,317],[336,329],[311,329]] rec text: wo rec score: 0.566691
9       det boxes: [[348,311],[527,311],[527,331],[348,331]] rec text: niao leyigekeng rec score: 0.959383
10      det boxes: [[307,333],[540,333],[540,364],[307,364]] rec text: 我,尿了一个坑!rec score: 0.931369
11      det boxes: [[198,471],[677,469],[677,490],[198,492]] rec text: 贯浅浅,女,汉,197911月出生,当代作家,诗人 rec score: 0.879745
12      det boxes: [[158,512],[690,509],[690,530],[158,533]] rec text: 西北大学文学院副教投,陕西有青年文学协副主席,中国作协副 rec score: 0.907279
13      det boxes: [[161,554],[390,554],[390,571],[161,571]] rec text: 主席、当代作家费平四之女 rec score: 0.880638
The detection visualized image saved in ./output//2.JPG
***************************
./imgs\3.JPG
0       det boxes: [[37,33],[701,40],[701,94],[37,87]] rec text: 《黄瓜,不仅仅是吃的》 rec score: 0.947897
1       det boxes: [[257,150],[482,150],[482,184],[257,184]] rec text: 作者:贾浅浅 rec score: 0.82198
2       det boxes: [[11,238],[174,238],[174,258],[11,258]] rec text: 我先竖中指为敬 rec score: 0.937345
3       det boxes: [[258,270],[480,270],[480,311],[258,311]] rec text: 寂寞的时候 rec score: 0.994962
4       det boxes: [[75,295],[95,295],[95,306],[75,306]] rec text: 6 rec score: 0.0878426
5       det boxes: [[111,298],[124,298],[124,306],[111,306]] rec text: 7 rec score: 0.155042
6       det boxes: [[323,354],[413,354],[413,403],[323,403]] rec text: 黄瓜 rec score: 0.998457
7       det boxes: [[304,443],[434,445],[433,489],[303,487]] rec text: 无疑是 rec score: 0.995151
8       det boxes: [[239,535],[501,535],[501,573],[239,573]] rec text: 全天下最好的 rec score: 0.904731
The detection visualized image saved in ./output//3.JPG

中文识别结果也没问题,就是有股子尿骚味!!!

—THE END—

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV与AI深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
I0716 11:04:41.826839 19896 analysis_predictor.cc:155] Profiler is deactivated, and no profiling report will be generated. 出现这种问题怎么解决呢 大佬们
I0716 11:04:41.826839 19896 analysis_predictor.cc:155] Profiler is deactivated, and no profiling report will be generated. 出现这种问题怎么解决呢 大佬们
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
让OCR更简单 | PaddleOCR+OpenCV实现文字识别步骤与代码演示
本期将介绍并演示PaddleOCR+Python+OpenCV实现车牌识别、身份证信息识别和车票信息识别的步骤与效果。
Color Space
2021/03/10
9.6K2
飞桨PaddleOCR C++预测库布署
关于OCR这块以前《Android通过OpenCV和TesserartOCR实时进行识别》中用过TesserartOCR,原来用的模型库也挺大,最近也研究了下别的OCR,最终决定采用百度飞桨PaddleOCR,本篇就是基于百度飞桨的PaddleOCR在Window版下C++的布署。
Vaccae
2021/07/07
2.7K0
飞桨PaddleOCR C++预测库布署
基于PaddleOCR的多视角集装箱箱号检测识别
集装箱号是指装运出口货物集装箱的箱号,填写托运单时必填此项。标准箱号构成基本概念:采用ISO6346(1995)标准
汀丶人工智能
2023/03/21
5490
在 C++ 项目中,通过源码使用 PaddlePaddle 实现 OCR 功能
如何在 C++ 项目中,通过源码使用 PaddlePaddle 实现 OCR 功能。 本项目的所有源码:gitee: paddleocr
绿巨人
2024/03/01
1.2K0
教程详解 | 用 PaddleOCR 进行集装箱箱号检测识别
内容一览:基于 PaddleOCR 进行集装箱箱号检测,缩短记录集装箱箱号的时间,提高港口装卸效率。
HyperAI超神经
2022/11/29
1.2K1
教程详解 | 用 PaddleOCR 进行集装箱箱号检测识别
机器视觉基础之PaddleOCR入门
1.Python安装 官网下载较慢, 可到淘宝镜像源 https://registry.npmmirror.com/binary.html?path=python/安装3.8或3.9, windows
Zeal
2022/11/08
8230
PaddleOCR 训练模型参考
本文章介绍的是NV显卡训练。CPU训练 仅供参考,部分不同的地方请前往官方网站获取信息。
沙漠尽头的狼
2022/04/18
1.3K0
PaddleOCR 训练模型参考
小白轻松使用腾讯云GPU服务器部署OCR中英文识别服务
腾讯云GPU服务购买地址:https://cloud.tencent.com/product/gpu ,选择安装系统时推荐安装市场镜像里的公共镜像,里面有已经安装好的 CUDA 驱动, 推荐选择 ”CentOS 7.6 NVIDIA GPU基础镜像(预装驱动和CUDA 10.2)“ 这个镜像,因为安装使用 PaddlePaddle 需要 显卡驱动 10.1 及以上。另外服务器需要一个完整的显卡,不能是共享的显卡,因为系统会识别不到。
Alone88
2022/05/30
9.3K3
解读未知:文本识别算法的突破与实际应用
文本识别是OCR(Optical Character Recognition)的一个子任务,其任务为识别一个固定区域的的文本内容。在OCR的两阶段方法里,它接在文本检测后面,将图像信息转换为文字信息。
汀丶人工智能
2023/10/11
7450
解读未知:文本识别算法的突破与实际应用
【AI测试】已落地-python文字图像识别PaddleOCR
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。
梦无矶小仔
2023/09/08
2.5K0
【AI测试】已落地-python文字图像识别PaddleOCR
免费的OCR识别工具就是香!
经常在网上查询文档资料的朋友一定有过这样的经历:好不容易找到了需要的内容,可是别说下载了,连复制一句话都不给复制的。尤其是 PDF 文档和图片类资料,就算我们充值下载到本地,很多也无法复制文本,只能手动敲出来。
永恒君
2022/12/06
6.3K0
免费的OCR识别工具就是香!
【OCR】:PaddleOCR 的服务化部署
OCR(Optical Character Recognition,光学字符识别)目前是文字识别的统称,已不限于文档或书本文字识别,更包括识别自然场景下的文字,又可以称为STR(Scene Text Recognition)。
WEBJ2EE
2022/03/30
8.4K2
【OCR】:PaddleOCR 的服务化部署
PaddleOCR C++动态库编译及调用识别(一)
本篇就来看看如何把PaddleOCR的源码重新编译成动态库,供OpenCV的Demo调用。
Vaccae
2021/07/30
4.9K1
PaddleOCR C++动态库编译及调用识别(一)
飞桨文字识别模型套件PaddleOCR首次开源,带来8.6M超轻量中英文OCR模型!
OCR技术有着丰富的应用场景,包括已经在日常生活中广泛应用的面向垂类的结构化文本识别,如车牌识别、银行卡信息识别、身份证信息识别、火车票信息识别等等,此外,通用OCR技术也有广泛的应用,如在视频场景中,经常使用OCR技术进行字幕自动翻译、内容安全监控等等,或者与视觉特征相结合,完成视频理解、视频搜索等任务。
用户1386409
2020/06/04
3.1K0
飞桨文字识别模型套件PaddleOCR首次开源,带来8.6M超轻量中英文OCR模型!
.NET框架下如何使用PaddleOCRSharp
随着人工智能技术的飞速发展,光学字符识别(OCR,Optical Character Recognition)作为图像识别领域的重要组成部分,已经在各行各业中得到了广泛应用。PaddleOCR 是由百度开发的开源 OCR 工具,它以高精度和高性能著称。对于 .NET 开发者来说,可以借助 PaddleOCRSharp 这一封装库,在 .NET 框架下便捷地调用 PaddleOCR 的功能。
Michel_Rolle
2024/11/21
2.8K0
健康码颜色识别和信息提取
疫情已经持续很久,打算做一个健康码颜色识别和信息提取的应用。本文采用opencv 和PaddleOCR、Flask来完成
每周聚焦
2022/10/27
1.2K0
java表格识别PaddleOcr总结
4. 对象反序列化read/useMemory基类是protect类型的需要覆盖下,AI给的是直接调用方法的。
程序猿川子
2024/09/24
2680
java表格识别PaddleOcr总结
C++ | PaddleOCR+OpenCV实现文字识别步骤与代码演示
本期将介绍并演示C++ OpenCV使用PaddleOCR做文字识别的步骤与效果。
Color Space
2021/03/10
7.5K0
PaddleOCR C++学习笔记(二)
上一篇《PaddleOCR C++动态库编译及调用识别(一)》中把PaddleOCR的动态库编译完也调用成功,也考虑了几个可以优化的方法,本来也是想按自己的想法做的优化,过程中也踩到了不少的坑,慢慢填吧。这篇文章算是做了一个踩坑的记录。
Vaccae
2021/07/30
1.3K0
PaddleOCR C++学习笔记(二)
基于深度学习的自动车牌识别(详细步骤+源码)
本文将重点介绍 ALPR 的端到端实现。它将侧重于两个过程:车牌检测和检测到的车牌的 OCR。(公众号:OpenCV与AI深度学习)
Color Space
2022/04/06
7.4K0
基于深度学习的自动车牌识别(详细步骤+源码)
推荐阅读
相关推荐
让OCR更简单 | PaddleOCR+OpenCV实现文字识别步骤与代码演示
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验