GetcharZp commited on
Commit
dbefef8
·
1 Parent(s): f6e4a8d

:memo: update README.md

Browse files
Files changed (1) hide show
  1. README.md +32 -7
README.md CHANGED
@@ -23,43 +23,68 @@ go-ocr 是一款基于 Golang + ONNX 构建的 OCR 工具库,专注于为 Go
23
 
24
  ## 安装
25
 
 
 
26
  ```shell
27
- # 下载包
28
  go get -u github.com/getcharzp/go-ocr
 
 
 
 
 
 
 
 
29
 
30
- # 下载模型 + 动态链接库
31
- git clone https://huggingface.co/getcharzp/go-ocr
 
 
 
 
32
  ```
33
 
 
 
 
 
 
 
 
 
 
 
34
  ## 快速开始
35
 
36
  ### PaddleOCR
37
 
38
  **示例代码**
39
 
40
- 通过 OCR 引擎的 `RunOCR()` 方法能直接进行完整的检测与识别,也可以通过 `RunDetect()` 与 `RunRecognize()` 分别进行检测与识别
41
 
42
  ```go
43
  package main
44
 
45
  import (
46
  ocr "github.com/getcharzp/go-ocr"
 
47
  "github.com/up-zero/gotool/imageutil"
48
  "log"
49
  )
50
 
51
  func main() {
52
  // 按实际情况配置下述路径
53
- config := ocr.Config{
54
  OnnxRuntimeLibPath: "./lib/onnxruntime_amd64.so",
55
  DetModelPath: "./paddle_weights/det.onnx",
56
  RecModelPath: "./paddle_weights/rec.onnx",
57
  DictPath: "./paddle_weights/dict.txt",
 
58
  }
59
 
60
- // 初始化引擎
61
  var engine ocr.Engine
62
- engine, err := ocr.NewPaddleOcrEngine(config)
63
  if err != nil {
64
  log.Fatalf("创建 OCR 引擎失败: %v\n", err)
65
  }
 
23
 
24
  ## 安装
25
 
26
+ ### 1. 安装 Go 依赖
27
+
28
  ```shell
 
29
  go get -u github.com/getcharzp/go-ocr
30
+ ```
31
+
32
+ ### 2. 按需下载模型与动态链接库
33
+
34
+ 模型与动态链接库存放在独立仓库(HuggingFace,含 ModelScope 国内镜像),**无需全量下载**,请根据实际使用的引擎按需下载所需文件。
35
+
36
+ - HuggingFace 仓库地址:https://huggingface.co/getcharzp/go-ocr
37
+ - ModelScope 镜像地址:https://www.modelscope.cn/getcharzp/go-ocr
38
 
39
+ **目录结构**
40
+
41
+ ```txt
42
+ paddle_weights/ # PaddleOCR 所需
43
+ ddddocr_weights/ # DdddOCR 所需
44
+ lib/ # onnxruntime 动态链接库(按平台选择)
45
  ```
46
 
47
+ **动态链接库选择**
48
+
49
+ onnxruntime 动态链接库需按运行平台选择:
50
+
51
+ | 平台 | 文件 |
52
+ | --- | --- |
53
+ | Linux | `lib/onnxruntime_amd64.so` |
54
+ | Windows | `lib/onnxruntime.dll` |
55
+ | macOS | `lib/onnxruntime_amd64.dylib` |
56
+
57
  ## 快速开始
58
 
59
  ### PaddleOCR
60
 
61
  **示例代码**
62
 
63
+ 通过 OCR 引擎的 `RunOCR()` 方法能直接进行完整的检测与识别,也可以通过 `RunDetect()` 进行文字区域检测。
64
 
65
  ```go
66
  package main
67
 
68
  import (
69
  ocr "github.com/getcharzp/go-ocr"
70
+ "github.com/getcharzp/go-ocr/paddle"
71
  "github.com/up-zero/gotool/imageutil"
72
  "log"
73
  )
74
 
75
  func main() {
76
  // 按实际情况配置下述路径
77
+ config := paddle.Config{
78
  OnnxRuntimeLibPath: "./lib/onnxruntime_amd64.so",
79
  DetModelPath: "./paddle_weights/det.onnx",
80
  RecModelPath: "./paddle_weights/rec.onnx",
81
  DictPath: "./paddle_weights/dict.txt",
82
+ // ThreadCount: 4, // (可选) 并行识别 Session 数, 默认 1
83
  }
84
 
85
+ // 初始化引擎(返回对象实现了 ocr.Engine 接口)
86
  var engine ocr.Engine
87
+ engine, err := paddle.NewEngine(config)
88
  if err != nil {
89
  log.Fatalf("创建 OCR 引擎失败: %v\n", err)
90
  }