1.8 KiB
1.8 KiB
XOcr Api - 文字识别 API
基于 FastAPI + Tesseract OCR 的文字识别服务,支持中英文识别和文本坐标返回。
环境配置
开发环境 (Windows)
- 安装依赖:
pip install -r requirements.txt
- 配置
.env文件(已创建):
TESSERACT_CMD=C:\Program Files\Tesseract-OCR\tesseract.exe
- 启动服务:
uvicorn main:app --host 0.0.0.0 --port 8080 --reload
生产环境 (Docker)
# 构建镜像
docker-compose build
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
API 使用
POST /ocr
上传图片进行文字识别,返回识别文本和坐标信息。
请求:
curl -X POST "http://localhost:8080/ocr" \
-F "file=@test_image.png"
响应:
{
"text": "完整识别文本",
"details": [
{
"text": "文本内容",
"confidence": 95,
"bbox": {
"left": 10,
"top": 30,
"width": 100,
"height": 20
}
}
]
}
测试
运行测试脚本:
python test_ocr_bbox.py
会自动创建测试图片,调用 API,并生成带有边界框的可视化结果。
项目结构
XOcr_Api/
├── main.py # FastAPI 应用
├── requirements.txt # Python 依赖
├── Dockerfile # Docker 镜像构建
├── docker-compose.yml # Docker Compose 配置
├── .env # 开发环境配置(不提交)
├── .env.example # 环境配置模板
├── .gitignore # Git 忽略文件
└── test_ocr_bbox.py # 测试脚本
配置说明
- TESSERACT_CMD: Tesseract OCR 可执行文件路径
- Windows:
C:\Program Files\Tesseract-OCR\tesseract.exe - Linux:
/usr/bin/tesseract(Docker 环境已自动配置)
- Windows: