Releases: suifei/ocr-server
Releases · suifei/ocr-server
v1.0.1
修复了命令行参数的一些bug,增加了输入图像二值化配置
配置选项
选项 | 描述 | 默认值 |
---|---|---|
addr | 服务器地址 | localhost |
port | 服务器端口 | 1111 |
ocr_exe_path | OCR 可执行文件路径 | 自动检测 |
min_processors | 最小处理器数量 | 4 |
max_processors | 最大处理器数量 | CPU 核心数 |
queue_size | 任务队列大小 | 100 |
scale_threshold | 扩展处理器阈值 | 75 |
degrade_threshold | 缩减处理器阈值 | 25 |
idle_timeout | 处理器空闲超时时间 | 5分钟 |
warm_up_count | 预热处理器数量 | 2 |
shutdown_timeout | 优雅关闭超时时间 | 30秒 |
log_file_path | 日志文件路径 | ocr_server.log |
log_max_size | 日志文件最大大小(MB) | 100 |
log_max_backups | 保留的旧日志文件最大数量 | 3 |
log_max_age | 保留旧日志文件的最大天数 | 28 |
log_compress | 是否压缩轮转的日志文件 | true |
threshold-mode | 阈值模式 | 0 |
threshold-value | 阈值 | 100 |
阈值处理相关选项说明:
-
threshold-mode:
- 描述:指定图像二值化时使用的阈值处理模式。
- 可选值:
- 参数 0 = "binary": 使用固定阈值进行二值化
- 参数 1 = "otsu": 使用Otsu算法自动计算最佳阈值
- 默认值:0
-
threshold-value:
- 描述:当 threshold-mode 为 0 "binary" 时使用的固定阈值。
- 取值范围:0-255
- 默认值:100
- 注意:当 threshold-mode 为 1 "otsu" 时,此值会被忽略,因为Otsu算法会自动计算最佳阈值。
使用说明:
- 如果您希望使用固定阈值进行图像二值化,请将 threshold-mode 设置为 "binary",并通过 threshold-value 指定所需的阈值(0-255之间的整数)。
- 如果您希望系统自动确定最佳阈值,请将 threshold-mode 设置为 "otsu"。在这种情况下,threshold-value 的设置将被忽略。
- Otsu方法特别适用于具有双峰直方图的图像(即前景和背景有明显区分的图像),它能够自动找到最佳的分割阈值。
v1.0.0
ocr-server-only.zip 只有主程序,启动后将自动从GitHub下载paddle引擎和资源(需要可以代理)
ocr-server-with-paddle-json.zip (推荐),集成了所有资源,首次使用请选择这个版本
特性
方便给更多应用集成,可以部署成服务器,通过HTTP接口访问
高性能:利用处理器池来处理多个并发请求。
可扩展性:根据需求动态调整 OCR 处理器数量。
容错能力:实现了健康检查和自动处理器重初始化,确保系统稳定性。
灵活输入:支持图片文件路径和 base64 编码的图片数据。
可配置:通过 YAML 文件和命令行参数支持灵活配置。
日志记录:详细的日志记录,支持日志轮转和压缩。
统计信息:提供实时服务器统计信息以便监控。
自动下载:如果需要,自动下载所需的 OCR 引擎。
可以通过 YAML 文件或命令行参数配置服务器。使用配置文件:
./ocr-server.exe -config path/to/config.yaml
使用命令行配置:
./ocr-server.exe -addr 192.168.1.100 -port 8080 -min-processors 8 -max-processors 16
配置选项
选项 | 描述 | 默认值 |
---|---|---|
addr | 服务器地址 | localhost |
port | 服务器端口 | 1111 |
ocr_exe_path | OCR 可执行文件路径 | 自动检测 |
min_processors | 最小处理器数量 | 4 |
max_processors | 最大处理器数量 | CPU 核心数 |
queue_size | 任务队列大小 | 100 |
scale_threshold | 扩展处理器阈值 | 75 |
degrade_threshold | 缩减处理器阈值 | 25 |
idle_timeout | 处理器空闲超时时间 | 5分钟 |
warm_up_count | 预热处理器数量 | 2 |
shutdown_timeout | 优雅关闭超时时间 | 30秒 |
log_file_path | 日志文件路径 | ocr_server.log |
log_max_size | 日志文件最大大小(MB) | 100 |
log_max_backups | 保留的旧日志文件最大数量 | 3 |
log_max_age | 保留旧日志文件的最大天数 | 28 |
log_compress | 是否压缩轮转的日志文件 | true |
使用方法
启动服务器
使用默认配置启动服务器:
./ocr-server.exe
服务器首次运行时会自动下载所需的 PaddleOCR 模型。
Windows 下的命令行启动参数演示
以下是几种不同配置下在 Windows 上启动服务的命令行示例:
使用默认配置启动服务
ocr-server.exe
使用指定的配置文件启动服务
ocr-server.exe -config C:\path\to\config.yaml
使用命令行参数覆盖配置文件中的设置
ocr-server.exe -config C:\path\to\config.yaml -addr 192.168.1.100 -port 8080 -min-processors 8 -log-file C:\logs\ocr_server.log
仅使用命令行参数启动服务
ocr-server.exe -addr 192.168.1.100 -port 8080 -ocr C:\path\to\ocr_executable -min-processors 8 -max-processors 16 -queue-size 200 -scale-threshold 100 -degrade-threshold 50 -idle-timeout 10m -warm-up-count 4 -shutdown-timeout 1m -log-file C:\logs\ocr_server.log -log-max-size 200 -log-max-backups 5 -log-max-age 30 -log-compress
显示帮助信息
ocr-server.exe -help
将服务启动为 Windows 服务
可以使用 sc
命令将服务注册为 Windows 服务:
注册服务
sc create OCRServer binPath= "C:\path\to\ocr-server.exe -config C:\path\to\config.yaml" start= auto
启动服务
sc start OCRServer
停止服务
sc stop OCRServer
删除服务
sc delete OCRServer