ONNX Model Zoo

GetcharZp/go-ocr

By GetcharZp · ↓ 0 · ♥ 2 · Updated 2026-01-22

What's in this repo

This page lists the files in GetcharZp/go-ocr, including common.onnx, common_det.onnx, det.onnx and more.

  • 4 ONNX models (.onnx files)
  • 23 files, including 4 .png, 4 .onnx, 2 .txt, 2 .go, 2 .jpg, 2 .dylib
  • Last updated 2026-01-22

ONNX files

File Size Download
ddddocr_weights/common.onnx — Download
ddddocr_weights/common_det.onnx — Download
paddle_weights/det.onnx — Download
paddle_weights/rec.onnx — Download

How to use

These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.

README

logo

go-ocr forks go-ocr stars go-ocr pull-requests

go-ocr 是一款基于 Golang + ONNX 构建的 OCR 工具库,专注于为 Go 生态提供简单易用、可扩展的文字识别能力。 目前已完成与 PaddleOCR、DdddOCR 的对接,支持快速实现图像文字检测与识别。

安装

# 下载包
go get -u github.com/getcharzp/go-ocr

# 下载模型 + 动态链接库
git clone https://huggingface.co/getcharzp/go-ocr

快速开始

PaddleOCR

示例代码

通过 OCR 引擎的 RunOCR() 方法能直接进行完整的检测与识别,也可以通过 RunDetect() 与 RunRecognize() 分别进行检测与识别。

package main

import (
	ocr "github.com/getcharzp/go-ocr"
	"github.com/up-zero/gotool/imageutil"
	"log"
)

func main() {
	// 按实际情况配置下述路径
	config := ocr.Config{
		OnnxRuntimeLibPath: "./lib/onnxruntime_amd64.so",
		DetModelPath:       "./paddle_weights/det.onnx",
		RecModelPath:       "./paddle_weights/rec.onnx",
		DictPath:           "./paddle_weights/dict.txt",
	}

	// 初始化引擎
	var engine ocr.Engine
	engine, err := ocr.NewPaddleOcrEngine(config)
	if err != nil {
		log.Fatalf("创建 OCR 引擎失败: %v\n", err)
	}
	defer engine.Destroy()

	// 打开图像
	imagePath := "./test.jpg"
	img, err := imageutil.Open(imagePath)
	if err != nil {
		log.Fatalf("加载图像失败: %v\n", err)
	}

	// OCR识别
	results, err := engine.RunOCR(img)
	if err != nil {
		log.Fatalf("运行 OCR 失败: %v\n", err)
	}
	for _, result := range results {
		log.Printf("识别结果: %v\n", result)
	}
}

示例效果

原图 检测结果

DdddOCR

示例代码

package main

import (
	"github.com/getcharzp/go-ocr/ddddocr"
	"github.com/up-zero/gotool/imageutil"
	"image"
	"image/color"
	"image/draw"
	"log"
)

func main() {
	config := ddddocr.Config{
		OnnxRuntimeLibPath: "../lib/onnxruntime.dll",
		DetModelPath:       "../ddddocr_weights/common_det.onnx",
	}

	engine, err := ddddocr.NewEngine(config)
	if err != nil {
		log.Fatalf("创建 OCR 引擎失败: %v\n", err)
	}
	defer engine.Destroy()

	imagePath := "./captcha_det.png"
	img, err := imageutil.Open(imagePath)
	if err != nil {
		log.Fatalf("加载图像失败: %v\n", err)
	}

	boxes, err := engine.Detect(img)
	if err != nil {
		log.Fatalf("运行检测失败: %v\n", err)
	}

	tagImg := image.NewRGBA(img.Bounds())
	draw.Draw(tagImg, img.Bounds(), img, image.Point{}, draw.Src)

	for _, box := range boxes {
		imageutil.DrawThickRectOutline(tagImg, image.Rectangle{Min: image.Point{X: box.Box[0], Y: box.Box[1]},
			Max: image.Point{X: box.Box[2], Y: box.Box[3]}}, color.Black, 2)
	}
	imageutil.Save("captcha_det_result.png", tagImg, 100)
}

示例效果

原图 检测结果

Model info

onnx image-to-text license:mit region:us
↓ 0 ♥ 2

Created: 2025-11-14

Updated: 2026-01-22

View on Hugging Face

Files (23)

.gitattributes
.gitignore
LICENSE
README.md
assets/logo.png
ddddocr_weights/common.onnx ONNX
ddddocr_weights/common_det.onnx ONNX
ddddocr_weights/dict.txt
examples/captcha.png
examples/captcha_det.png
examples/captcha_det_result.png
examples/ddddocr_test.go
examples/det.jpg
examples/paddle_test.go
examples/test.jpg
lib/onnxruntime.dll
lib/onnxruntime_amd64.dylib
lib/onnxruntime_amd64.so
lib/onnxruntime_arm64.dylib
lib/onnxruntime_arm64.so
paddle_weights/det.onnx ONNX
paddle_weights/dict.txt
paddle_weights/rec.onnx ONNX

Related models