小白配置思源笔记本地 OCR(可能是手把手)

本贴最后更新于 790 天前,其中的信息可能已经时移世异

最近选择换用了思源作为主力笔记软件,惊喜的发现思源居然支持 OCR 功能,但是 OCR 是基于 Tessercat 的方案,安装比较复杂,作为一个小白,记录下来,以备不时之需。

安装 Tessercat

首先,需要前往下载 Tessercat OCR Windows :点击前往(安装包是按照时间顺序排列的,因此翻到最后下载就可)。

下载完成后双击安装,语言选择英语(别的也看不懂)。

请在这里寻找你需要添加识别的语言

大部分人应该都是添加简体中文,这里有两个,我百度了一下,vertical 貌似是竖排的意思

记住自己的安装目录哦,后面还会考的。

配置环境变量

这部分,我是参考下面这篇文章来操作的,会不会有多余的步骤我也看不懂,只能期待有大佬指出了

Tesseract-OCR-02-Tesseract-OCR 的安装与 环境变量配置

在控制面板里找到 [系统属性],不过我就偷懒直接搜 [编辑系统环境变量] 了

点击框红的 [环境变量] 按钮

下面两张图一起看哦,分别在自己的用户变量和系统变量的 Path 里添加你 Tessercat 的安装目录,如果你和我一样没改的话,就直接复制粘贴我的就好了,两个都有添加哦(教程这么写的,如果有多余步骤还请大佬们指正)

C:\Program Files\Tesseract-OCR

随后在系统变量里,新建一个变量名称为:TESSDATA_PREFIX

值为:刚才路径加上 \tessdata

如果你和我一样是默认路径的话,那就是下面的

C:\Program Files\Tesseract-OCR\tessdata

这样的话,OCR 功能就配置好了,重新打开思源笔记,就可以进行 ocr 了。

当然,在这里你也可以参考 思源笔记用户指南 ,对环境变量做进一步配置。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    26399 引用 • 109780 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 感谢这样好的教程!

    1 回复
  • Momowuwen via macOS

    难得有这么详细的手把手指导教程,对于很多的小白用户太有用了。

    可惜我的是 macos 系统,有没有人能出一个 macos 系统的教程呀?

    3 回复
  • feihuo

    谢谢鼓励

  • feihuo

    我也是琢磨了很久才成,想着把步骤记录下来,不过我目前手头没有 mac 设备,期待其他大佬了

  • 步骤很详细,我提一个小点,这样下载下来的 OCR 数据包是 fast 数据包,也就是相对来说 OCR 速度最快但是不太准确

    如果想要相对更高的识别率,可以在下载完之后去 tessdata 的安装目录把 fast 数据包替换成 best 数据包,识别准确率会有一定程度的上升

    参考来源:三组 tessdata 数据包对比

    image.png

    2 回复
  • 转载请求:请求转载这篇文档到知乎李大嘴 - 知乎 (zhihu.com)

  • feihuo

    感谢大佬补充

  • 感谢!!不然我真的搞不灵!!!

  • jpanda via macOS

    首先我们可以借助于 brew 工具安装 tesseract。

    brew install tesseract

    安装完成后,使用命令可以发现本地还没有语言数据:

    image.png

    我们可以从下面几个地址下载语言模型,下面给出的模型识别速度由快到满,准确率由低到高:

    根据上图的第一行报错,我的模型默认加载目录为/opt/local/share/tessdata/,但你的目录地址大概率和我不一致,如果不想使用该目录,可以自己创建一个目录,然后使用一个名为 TESSDATA_PREFIX 的环境变量指向该目录。

    可以通过执行下面的命令配置该环境变量,注意修改目录地址:

    echo "TESSDATA_PREFIX=你的目录地址">~/.bashrc

    当然,我们也可以同时创建多个目录,将不同的模型放到不同的目录下,并通过 TESSDATA_PREFIX 环境变量进行切换。

    接下来就是下载将模型存放到你的加载目录中去了,这里建议找个多线程下载工具进行下载,我看了下 best 包,该包解压前 1.77GB,当然也可以直接使用 git 命令直接将文件 clone 到对应的目录下。

    如果不需要使用多个模型,建议直接进行下面操作即可:

    首先移除掉模型目录下的所有文件,否则 git 命令会执行失败,这里不提供脚本,是考虑到很多新手低估了 rm 命令的能力,所以建议通过 finder 移除

    # 首先移除掉模型目录下的所有文件,这里不提供脚本,是考虑到很多新手,所以建议通过finder移除 # 切换到模型目录下 cd /opt/local/share/tessdata/ # 然后将模型直接clone到本目录下 sudo git clone --depth=1 https://ghproxy.com/https://github.com/tesseract-ocr/tessdata_best.git .

    如果你不需要多模型,进行到这一步就结束了,你的模型已经可以使用了。

    如果你想要同时保留多个模型,可以通过下面的方式,首先还是新建一个空目录,然后切换到该目录,将不同的模型 clone 到该目录下:

    这里为了加速下载,我使用了 https://ghproxy.com/进行加速。

    sudo git clone --depth=1 https://ghproxy.com/https://github.com/tesseract-ocr/tessdata_fast.git sudo git clone --depth=1 https://ghproxy.com/https://github.com/tesseract-ocr/tessdata.git sudo git clone --depth=1 https://ghproxy.com/https://github.com/tesseract-ocr/tessdata_best.git

    然后你就会在该目录下得到三个模型分别对应的文件夹:

    testdata testdatabest testdatafast

    然后修改环境变量 TESSDATA_PREFIX 的值使其对应一个具体的模型目录,还是以 testdatabest 为例:

    #TESSDATA_PREFIX=你的目录地址/testdatafast #TESSDATA_PREFIX=你的目录地址/testdata TESSDATA_PREFIX=你的目录地址/testdatabest
  • jpanda via macOS

    如果你不使用 brew 工具,也可以使用 macports 进行安装,点击查看官方文档

    使用 macports 的的方法官网中已经给出了,执行下面命令即可:

    sudo port install tesseract

    同时,使用 macports 工具也可以直接下载指定的语言模型,有效模型可以在 上查看,或者你也可以参考前面安装语言模型的方法,手动处理模型,这里就不赘述了,再给一个 macports 配置国内源的脚本吧:

    # 将原本的默认源替换成清华源 sudo sed -i '' 's@^#\{0,1\}rsync://.*$@rsync://mirrors.tuna.tsinghua.edu.cn/macports/release/tarballs/ports.tar [default]@' /opt/local/etc/macports/sources.conf # 修改rsync_server和rsync_dir sudo sed -e ' /^#\{0,1\}rsync_server/c \ rsync_server mirrors.tuna.tsinghua.edu.cn /^#\{0,1\}rsync_dir/c \ rsync_dir macports/release/tarballs/base.tar' macports.conf # 更新源 sudo port -v selfupdate
  • jidenanian

    这个 OCR 能不能不要自动 OCR,需要 OCR 了再针对指定的图片进行 OCR,或者只 OCR 当前打开页面的图片

  • siyuan241

    很棒,成功了

  • 太感谢了。教程做的很详细,运行起来没啥问题咯

  • yw1551 1 评论

    不知道是不是思源新版本的问题,我这装了不行

    现在已经不需要这个了,思源已经内置
    ilovesiyuan
  • daloo

    非常棒的教程,一路操作下来完成的很顺利,就是我的扫描版的 pdf 文字识别不知道从哪里调用 😂

    跟我的版本是 V2.12.2 有关吗

  • realysy

    很好!设置了 TESSDATA_PREFIX 环境变量之后 ocr 不乱码了!!我是 msys2 安装的 tesseract 和语言包

  • Banbanzhi

    小白提问,怎么替换呀,楼主能不能再展开说说

  • 成分感谢!新手致敬!

请输入回帖内容 ...

推荐标签 标签

  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 269 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 352 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    268 引用 • 666 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖 • 1 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 633 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 151 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    46 引用 • 114 回帖 • 167 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    198 引用 • 543 回帖 • 3 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 39 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 444 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 649 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 650 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 37 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 280 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 18 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    591 引用 • 3528 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    730 引用 • 1283 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 155 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2389 回帖