Skip to content
Projects

Avafly/PaddleOCR-ncnn-CPP

View on 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.

How these counts are measured

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

Measured star growth

in 24h
+1
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

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

Explore related projects