Initial commit
This commit is contained in:
95
README.md
Normal file
95
README.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# XOcr Api - 文字识别 API
|
||||
|
||||
基于 FastAPI + Tesseract OCR 的文字识别服务,支持中英文识别和文本坐标返回。
|
||||
|
||||
## 环境配置
|
||||
|
||||
### 开发环境 (Windows)
|
||||
|
||||
1. 安装依赖:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. 配置 `.env` 文件(已创建):
|
||||
```env
|
||||
TESSERACT_CMD=C:\Program Files\Tesseract-OCR\tesseract.exe
|
||||
```
|
||||
|
||||
3. 启动服务:
|
||||
```bash
|
||||
uvicorn main:app --host 0.0.0.0 --port 8080 --reload
|
||||
```
|
||||
|
||||
### 生产环境 (Docker)
|
||||
|
||||
```bash
|
||||
# 构建镜像
|
||||
docker-compose build
|
||||
|
||||
# 启动服务
|
||||
docker-compose up -d
|
||||
|
||||
# 查看日志
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
## API 使用
|
||||
|
||||
### POST /ocr
|
||||
|
||||
上传图片进行文字识别,返回识别文本和坐标信息。
|
||||
|
||||
**请求:**
|
||||
```bash
|
||||
curl -X POST "http://localhost:8080/ocr" \
|
||||
-F "file=@test_image.png"
|
||||
```
|
||||
|
||||
**响应:**
|
||||
```json
|
||||
{
|
||||
"text": "完整识别文本",
|
||||
"details": [
|
||||
{
|
||||
"text": "文本内容",
|
||||
"confidence": 95,
|
||||
"bbox": {
|
||||
"left": 10,
|
||||
"top": 30,
|
||||
"width": 100,
|
||||
"height": 20
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 测试
|
||||
|
||||
运行测试脚本:
|
||||
```bash
|
||||
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 环境已自动配置)
|
||||
Reference in New Issue
Block a user