CHINESE-OCR

经典 CTPN+CRNN 方案,快速跑通中文场景文字识别

CHINESE-OCR 是一个面向中文自然场景文字的端到端检测与识别开源项目,采用 CTPN 做文本检测、CRNN+CTC 做文本识别的经典两阶段方案。它解决的核心问题是:在复杂背景、多角度、光照不均的自然场景图片中,自动定位中文文本行并输出可读文字,弥补早期 OCR 工具对中文竖排、密集字符和倾斜文本支持不足的缺陷。项目基于 TensorFlow/Keras 与 PyTorch 实现了 CRNN 训练与推理流程,提供数据准备、模型训练、测试评估的完整脚本,并附带预训练权重与示例图片,方便开发者快速跑通 demo。作为 legacy 项目,它更偏向教学与复现价值,代码结构清晰,适合作为学习 CTPN、CRNN、LSTM-CTC 原理的入门材料,也可作为中文 OCR 业务的原型基线。

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2956
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类计算机视觉
开发团队xiaofengShi
所属国家
定价模式free
价格说明开源免费项目,需自行部署
访问状态
是否开源
开源协议
主要语言Python
技术栈/模型chinese-ocr,crnn,ctpn,keras-crnn,legacy-project,lstm-ctc,ocr,pytorch-crnn,scene-text-recognition,tensorflow
GitHub 星标★ 2956
30天Star增速
HF 下载量
上线时间2018-04-14 00:00:00
最近更新2026-09-14 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-19
浏览次数0

使用教程

难度:高级 约 60 分钟 部署方式:本地安装 6 步

环境要求

  • Python 3.6
  • TensorFlow 1.7(CPU 或 GPU 版本)
  • Keras / PyTorch(随 setup 脚本一起安装的较早版本)
  • 可用的 CPU 或 GPU 环境(GPU 环境需自行准备 CUDA)

安装与启动步骤

  1. 1克隆项目仓库

    把 CHINESE-OCR 源码下载到本地,并进入项目目录,后续命令都在该目录中执行。

    git clone https://github.com/xiaofengShi/CHINESE-OCR.git
    cd CHINESE-OCR
  2. 2按环境执行安装脚本

    README 只提供三个 setup 脚本:GPU 环境用 setup.sh,CPU 环境用 setup-cpu.sh,CPU python3 环境用 setup-python3.sh,按自己的机器选择其一执行。

    sh setup-cpu.sh
  3. 3下载预训练权重

    文字方向检测(VGG 分类)、CTPN、CRNN 的模型权重需从 README 给出的百度云链接下载并放到项目对应目录,链接可能已过期。

  4. 4放入测试图片

    准备一张自然场景中文图片,运行 demo 时把测试图片的路径写入脚本中即可,图片路径不要用占位符。

  5. 5运行 demo 测试

    执行 demo.py,把待测图片路径写进脚本;如需显示 CTPN 检测框,还要修改检测相关代码。

    python demo.py
  6. 6输出检测框结果图

    修改 ./ctpn/ctpn/other.py 中 draw_boxes 函数最后部分,用 cv2.imwrite('dest_path', img) 保存带文字区域框的图像。

关键配置

配置项必填说明示例
测试图片路径demo.py 中写入待识别图片的本地路径./test.jpg
dest_pathother.py 中 draw_boxes 保存检测框结果图的输出路径./result.jpg

如何确认成功

demo.py 运行结束后终端输出 OCR 识别文字;若改了 draw_boxes,还能在 dest_path 看到画有 CTPN 文字区域框的图片。

常见问题

Q:安装时报依赖版本冲突怎么办?

A:本项目基于 Python 3.6、TensorFlow 1.x 和较早版本的 Keras/PyTorch,建议用独立的 Python 3.6 虚拟环境或 conda 环境执行 setup 脚本,不要装到新版 Python 上。

Q:预训练模型或依赖下载链接打不开?

A:README 明确提示这是历史项目,依赖版本与下载链接可能已经过期。可先搜索仓库现有 Issue 中是否有人给出替代地址。

Q:demo 跑完看不到检测框图像?

A:README 说明需自行修改 ./ctpn/ctpn/other.py 的 draw_boxes 函数最后部分,加上 cv2.imwrite('dest_path', img) 才会落盘保存结果图。

Q:可以商用吗?

A:仓库没有附带明确的开源许可证,默认版权归作者保留。商业使用、再分发或大规模衍生开发需先与维护者联系确认授权。

注意事项

  • 本项目为历史项目,仅维护现状,不再进行功能开发,提问回复可能较慢;新用户请先阅读现有 Issue
  • 使用环境为 Python 3.6 + TensorFlow 1.7(CPU/GPU),在新机器上复现需要额外处理旧版本依赖
  • 作者已转向其他研究方向,CTPN/CRNN 相关代码更偏教学与复现价值
  • 商业使用或再分发前请先确认授权,仓库暂无明确开源许可证

核心亮点

  • 提供 CTPN 检测与 CRNN+CTC 识别完整流程,含训练和推理脚本,可直接复现论文级方案
  • 同时覆盖 TensorFlow/Keras 和 PyTorch 两套 CRNN 实现,便于对比学习
  • 附带预训练权重与示例数据,降低中文 OCR 入门门槛

不足之处

  • 项目标注为 legacy,依赖版本较旧,在新环境安装可能遇到兼容性问题
  • 仅支持水平文本检测,对弯曲、竖排、任意方向中文文本效果有限

适用场景

  • 学习 CTPN、CRNN、CTC 等 OCR 核心算法的教学与实验
  • 中文票据、证件、街景文字识别原型快速验证
  • 作为基线模型对比新式 OCR 方案(如 DBNet+CRNN)的性能

替代项目

PaddleOCR、chineseocr_lite

项目介绍

CHINESE-OCR 是一个计算机视觉领域的开源项目,官方简介:End-to-end Chinese scene-text detection and recognition with CTPN, CRNN, and CTC (legacy project).。项目使用 Python 开发,在 GitHub 上获得 2956 星标。

上一篇:ocr

下一篇:surya

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 3995 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90893 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2035 2026-08-14