diff --git a/thirdparty/paddleocr-go/README.md b/thirdparty/paddleocr-go/README.md index 95a346042af55553fbcb9f9cebc1b2277045dbfd..718981e8bc76350b4acfcb530bac527e06269e0f 100644 --- a/thirdparty/paddleocr-go/README.md +++ b/thirdparty/paddleocr-go/README.md @@ -30,6 +30,7 @@ echo "export GOROOT=/usr/local/go" >> ~/.bashrc echo "export PATH=$PATH:$GOROOT/bin" >> ~/.bashrc # 配置GOPATH,即go相关package的安装目录,可自定义一个目录 echo "export GOPATH=$HOME/golang" >> ~/.bashrc +echo "export PATH=$PATH:$GOPATH/bin" >> ~/.bashrc # 配置GOPROXY,即go mod包管理器的下载代理,同时打开mod模式 echo "export GO111MODULE=on" >> ~/.bashrc echo "export GOPROXY=https://mirrors.aliyun.com/goproxy/" >> ~/.bashrc @@ -196,7 +197,7 @@ souce ~/.bashrc 确保C推理库已配置到环境变量,然后直接执行安装命令 ```shell -go get -u github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go +go get -u github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go ``` ### 2.2 相关使用API @@ -204,7 +205,7 @@ go get -u github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go 在go中使用import引入包 ```go -import github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go/ocr +import github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go/ocr ``` - 预测结果结构体 @@ -258,28 +259,33 @@ func (ocr *OCRSystem) StartServer(port string) ## 3. 预测demo -### 3.1 修改预测配置 +### 3.1 生成预测demo -当前给定的配置文件`config/conf.yaml`中,包含了默认的OCR预测配置参数,可根据个人需要更改相关参数。 - -比如,将`use_gpu`改为`false`,使用CPU执行预测;将`det_model_dir`, `rec_model_dir`, `cls_model_dir`都更改为自己的本地模型路径,也或者是更改字典`rec_char_dict_path`的路径,这四个路径如果配置http链接,会自动下载到本地目录。另外,配置参数包含了预测引擎、检测模型、检测阈值、方向分类模型、识别模型及阈值的相关参数,具体参数的意义可参见[PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/whl.md#%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E)。 +以下两种方式均可生成预测demo文件,任选其一即可 -### 3.2 编译预测demo - -- 下载`paddleocr-go`代码 +- 通过下载`paddleocr-go`代码并编译 ```shell git clone https://github.com/PaddlePaddle/PaddleOCR -cd PaddleOCR/deploy/paddleocr-go +cd PaddleOCR/thirdparty/paddleocr-go + +# 确保C动态库路径已在环境变量中,执行以下命令生成ppocr-go文件 +go build ppocr-go.go ``` -- 编译demo +- 通过go package自动安装 ```shell -# 确保C动态库路径已在环境变量中 -go build ppocr-go.go +# 执行后会自动在$GOPATH/bin下生成ppocr-go文件,如果配置了PATH=$PATH:$GOPATH/bin,以下预测命令可以去掉`./`,直接执行ppocr-go +go get -u github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go ``` +### 3.2 修改预测配置 + +当前给定的配置文件`config/conf.yaml`中,包含了默认的OCR预测配置参数,可根据个人需要更改相关参数。 + +比如,将`use_gpu`改为`false`,使用CPU执行预测;将`det_model_dir`, `rec_model_dir`, `cls_model_dir`都更改为自己的本地模型路径,也或者是更改字典`rec_char_dict_path`的路径,这四个路径如果配置http链接,会自动下载到本地目录。另外,配置参数包含了预测引擎、检测模型、检测阈值、方向分类模型、识别模型及阈值的相关参数,具体参数的意义可参见[PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/whl.md#%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E)。 + ### 3.3 执行预测demo 预测demo提供了三种预测方式,分别是单张图预测、文件夹批量预测、OCR Server预测。三者命令行优先级依次降低。 diff --git a/thirdparty/paddleocr-go/go.mod b/thirdparty/paddleocr-go/go.mod index 5b99dfcb2b64ac64792650b689eac99a21a5d8f2..e0ae4b652c64a62bd0f9ed43049942d0ebf40b41 100644 --- a/thirdparty/paddleocr-go/go.mod +++ b/thirdparty/paddleocr-go/go.mod @@ -1,4 +1,4 @@ -module github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go +module github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go go 1.14 diff --git a/thirdparty/paddleocr-go/go.sum b/thirdparty/paddleocr-go/go.sum index c8584d8ede6770086eb9e29a2720d5f21cd9dd58..930b2a665cc49146addba93de93e2012249cd213 100644 --- a/thirdparty/paddleocr-go/go.sum +++ b/thirdparty/paddleocr-go/go.sum @@ -1,5 +1,6 @@ github.com/LKKlein/gocv v0.28.0 h1:1MMvs9uYf+QGPi86it2pUmN8RRoyMnPLUefKB/Jf1Q0= github.com/LKKlein/gocv v0.28.0/go.mod h1:MP408EL7eakRU3vzjsozzfELSX7HDDGdMpWANV1IOHY= +github.com/PaddlePaddle/PaddleOCR v1.1.0 h1:zmPevInTs5P+ctSokI9sWQLTThmJBUCo/JCLbB5xbps= github.com/ctessum/go.clipper v0.0.0-20200522184404-9c744fa3e86c h1:VXCsVlam0R2Yl7VET2GxZBPdOa7gFRexyhfWb9v9QtM= github.com/ctessum/go.clipper v0.0.0-20200522184404-9c744fa3e86c/go.mod h1:KRMo3PCsooJP3LmCwKI76dkd7f3ki3zwYLHR7Iwbi5k= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/thirdparty/paddleocr-go/ocr/core.go b/thirdparty/paddleocr-go/ocr/core.go index 6674f237df0423f4bc47cb995baf34ddce8443b0..dadb08d7fb66c9672af5dad180b323443e868532 100644 --- a/thirdparty/paddleocr-go/ocr/core.go +++ b/thirdparty/paddleocr-go/ocr/core.go @@ -16,7 +16,7 @@ import ( "strings" "github.com/LKKlein/gocv" - "github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go/paddle" + "github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go/paddle" ) type PaddleModel struct { diff --git a/thirdparty/paddleocr-go/ocr/postprocess.go b/thirdparty/paddleocr-go/ocr/postprocess.go index 53a8184b192262555a226a33f613dd89a42d8a2a..88bd6887a656f3fe4f1a112891f24dc575793b40 100644 --- a/thirdparty/paddleocr-go/ocr/postprocess.go +++ b/thirdparty/paddleocr-go/ocr/postprocess.go @@ -7,7 +7,7 @@ import ( "sort" "github.com/LKKlein/gocv" - "github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go/paddle" + "github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go/paddle" clipper "github.com/ctessum/go.clipper" ) diff --git a/thirdparty/paddleocr-go/ppocr-go.go b/thirdparty/paddleocr-go/ppocr-go.go index 70c658b81220a18fd904f2696b19a345e3bb75b9..7fba63f080f96f723a00c735948fe2caa1b6ae46 100644 --- a/thirdparty/paddleocr-go/ppocr-go.go +++ b/thirdparty/paddleocr-go/ppocr-go.go @@ -3,7 +3,7 @@ package main import ( "flag" "log" - "github.com/PaddlePaddle/PaddleOCR/deploy/paddleocr-go/ocr" + "github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go/ocr" ) var (