Skip to content

Releases: suifei/ocr-server

v1.0.1

21 Aug 08:57
Compare
Choose a tag to compare

修复了命令行参数的一些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

阈值处理相关选项说明:

  1. threshold-mode:

    • 描述:指定图像二值化时使用的阈值处理模式。
    • 可选值:
      • 参数 0 = "binary": 使用固定阈值进行二值化
      • 参数 1 = "otsu": 使用Otsu算法自动计算最佳阈值
    • 默认值:0
  2. 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

19 Aug 07:22
Compare
Choose a tag to compare

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