Skip to content
项目

Avafly/PaddleOCR-ncnn-CPP

在 GitHub 查看

Avafly/PaddleOCR-ncnn-CPP has 112 GitHub stars and 10 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-12 13:58 UTC. Last push 2026-11-07.

这些数字如何统计

C++ implementations of PP-OCRv3/4/5/6 using ncnn for inference.

112 星标10 forks +1 24小时

实测星标增长

24小时
+1
7天
更新延迟
15天
更新延迟
1个月
更新延迟

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README.md

原文

This repository provides C++ implementations of PP-OCRv3/4/5/6, inspired by the official PaddleOCR project and using ncnn for inference.

The Release page contains a complete project archive that includes resources like models and images required to run the demo.

Demo

Usage

./main ../config.json ../images/ocr_img1.png

Requirements

  • OpenCV 4.11.0
  • ncnn 20241226
  • OpenMP 2.0+

Benchmarks

I ran benchmarks on a VPS using ocr_img1.png (simple) and ocr_img3.png (complex). You can find those images inside the release page archive.tar.gz.

CPU: 2 x Intel(R) Xeon(R) Platinum (2) @ 2.50 GHz

Models Latency / Peak memory for ocr_img1 Latency / Peak memory for ocr_img3
PP-OCRv3 mobile 88.09 ms / 106.2 MB 926.34 ms / 228.3 MB
PP-OCRv4 mobile 90.44 ms / 97.57 MB 1005.45 ms / 211.5 MB
PP-OCRv5 mobile 92.17 ms / 106.1 MB 1062.56 ms / 292.2 MB
PP-OCRv5 server 3948.50 ms / 1.545 GB 11172.83 ms / OOM
PP-OCRv6 tiny 67.45 ms / 62.22 MB 420.28 ms / 156.7 MB
PP-OCRv6 small 139.36 ms / 127.7 MB 1590.45 ms / 351.4 MB
PP-OCRv6 medium 584.79 ms / 425.3 MB 6298.11 ms / 706.2 MB

Tested on

  • macOS 15
  • Debian 12
  • Windows 10/11

Notes

Enabling FP16 may be faster but can cause NaN results on some devices. Edit config.json to enable or disable FP16.

It is recommended to use an ncnn version the same as or newer than the PNNX version used to convert the models.

Implementation References

https://github.com/MhLiao/DB

https://github.com/nihui/ncnn-android-ppocrv5

https://github.com/FeiGeChuanShu/ncnn_paddleocr

https://github.com/PaddlePaddle/PaddleOCR

探索相关项目