53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"github.com/PaddlePaddle/PaddleOCR/thirdparty/paddleocr-go/ocr"
|
|
)
|
|
|
|
var (
|
|
confFile string
|
|
image string
|
|
imageDir string
|
|
useServering bool
|
|
port string
|
|
)
|
|
|
|
func init() {
|
|
flag.StringVar(&confFile, "config", "config/conf.yaml", "config from ocr system. If not given, will use default config.")
|
|
flag.StringVar(&image, "image", "", "image to predict. if not given, will use image_dir")
|
|
flag.StringVar(&imageDir, "image_dir", "", "imgs in dir to be predicted. if not given, will check servering")
|
|
flag.BoolVar(&useServering, "use_servering", false, "whether to use ocr server. [default: false]")
|
|
flag.StringVar(&port, "port", "18600", "which port to serve ocr server. [default: 18600].")
|
|
}
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
sys := ocr.NewOCRSystem(confFile, nil)
|
|
|
|
if image != "" {
|
|
img := ocr.ReadImage(image)
|
|
defer img.Close()
|
|
results := sys.PredictOneImage(img)
|
|
for _, res := range results {
|
|
log.Println(res)
|
|
}
|
|
return
|
|
}
|
|
|
|
if imageDir != "" {
|
|
results := sys.PredictDirImages(imageDir)
|
|
for k, vs := range results {
|
|
log.Printf("======== image: %v =======\n", k)
|
|
for _, res := range vs {
|
|
log.Println(res)
|
|
}
|
|
}
|
|
}
|
|
|
|
if useServering {
|
|
sys.StartServer(port)
|
|
}
|
|
}
|