<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Ocr on 虫子樱桃</title>
    <link>https://czyt.eu.org/tags/ocr/</link>
    <description>Recent content in Ocr on 虫子樱桃</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <copyright>{year} 虫子樱桃</copyright>
    <lastBuildDate>Fri, 18 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://czyt.eu.org/tags/ocr/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PP-OCRv6 纯 Go 封装小记</title>
      <link>https://czyt.eu.org/post/pp-ocrv6-pure-go/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://czyt.eu.org/post/pp-ocrv6-pure-go/</guid>
      <description>&lt;p&gt;把 PP-OCRv6 的检测和识别模型包成了一个纯 Go 库：&lt;a href=&#34;https://github.com/lib-x/ppocr-v6-go&#34; class=&#34;prose-external&#34;&gt;github.com/lib-x/ppocr-v6-go&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
。用 &lt;a href=&#34;https://github.com/amikos-tech/pure-onnx&#34; class=&#34;prose-external&#34;&gt;pure-onnx&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
 通过 purego 动态加载 ONNX Runtime，不需要 CGO，不用装 PaddlePaddle 和 OpenCV，除了两个模型文件，只有一个内嵌的字符字典。&lt;/p&gt;
&lt;p&gt;代码量不大，时间主要花在把模型需要的参数一个个找出来，再验证对。这篇按&amp;quot;模型和文件从哪来、拿到新模型怎么入手、一张图怎么走完全流程&amp;quot;的顺序记录，中间有四个坑单独讲。&lt;/p&gt;
&lt;h2 id=&#34;先看术语检测识别和它们背后的东西&#34;&gt;先看术语：检测、识别和它们背后的东西&lt;/h2&gt;
&lt;p&gt;整图 OCR 一般拆成两个模型。检测模型在整页图上找文字行，输出一堆框，它不认字；识别模型把每个框裁出来读成字符串，它不找位置。PP-OCRv6 是 PaddleOCR 的 v6 版本，det 和 rec 各有 medium / small / tiny 三档，本库用的是 medium det（约 62MB）和 small rec（约 21MB）。本库的组合是 medium det 加 small rec。模型卡表格里 medium 档检测 Hmean 是 86.2%、medium rec 识别准确率 83.2%，small rec 是 81.3%，论文在 &lt;a href=&#34;https://arxiv.org/pdf/2606.13108&#34; class=&#34;prose-external&#34;&gt;arxiv 2606.13108&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
。这些是模型卡在标准测试集上的数字，和你手上某张图的端到端准确率是两回事。&lt;/p&gt;
&lt;p&gt;模型以 ONNX 格式分发。ONNX 文件里除了权重，还存着一张计算图：节点怎么连、每个张量叫什么、形状是什么。ONNX Runtime 执行这张图，pure-onnx 用 purego 加载它的共享库，Go 侧就能直接跑推理。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
