之所以会用到OCR工具,是因为在看一些扫描版的PDF文档时,有时候需要复制粘贴一些文字,特别是技术性文档,对于一些命令或者代码片段需要复制出来执行验证。

网络上有许多推荐OCR工具的文章,但是大多数都是厂商软文,而且都需要付费。本人在经过实际使用之后认为有2款开源免费的工具非常不错,推荐给大家。

特别说明: 既然是开源免费的工具,在识别准确率上应该是不如商业软件的,如果介意的就不用看了。

ShareX

ShareX是一个瑞士军刀般的小工具,之前主力使用的功能是屏幕截图。

其实它一直有一个OCR功能对于文本识别的正确率也非常高,对于不愿意折腾的人来说使用它进行OCR识别就足够了。

关于安装非常简单,不再赘述。

在最新版的ShareX 15.0版本中,使用其OCR功能截图下:

实际使用示例如下图:

对于我自己的需求而言,这样的识别准确率已经足够了。

textshot

textshot也是一个开源的OCR工具,工具本身是基于Python写的,所以需要机器上安装有Python3环境。

关于Python的下载和安装详见这里,不再赘述。

安装好Python3语言环境之后,使用pip3命令安装textshot。

pip3 install textshot

安装好textshot之后还不能直接使用(在Windows控制台执行textshot命令不会有任何效果),因为它依赖tesseract,所以还需要继续下载并安装Tesseract,这个安装过程有点漫长,需要耐心等待。

安装完毕tesseract之后,需要将其安装路径添加到环境变量PATH中。

上述准备工作都结束之后,打开一个新的Windows控制台,输入textshot命令,鼠标就会变成十字形,此时就可以开始截图并识别文本了,按Esc键可以退出。

实际使用示例如下图:

这种需要打开Windows控制台再输入命令启动textshot的方式非常不友好,所以可以借助AutoHotkey来设置快捷键。

使用AutoHotkey设置快捷键需要编写脚本,关于启动textshot的脚本在其代码库中有一个现成的示例:textshot.ahk,其内容如下:

#NoEnv
SetWorkingDir %A_ScriptDir% ; Bind the script to Win + Ctrl + S; modify as needed
#^s::
; Run Python w/o a window in a virtual environment in .venv
; Modify the command as needed, e.g. if not using a virtual environment
Run, .\.venv\Scripts\textshotw.exe
Return

我这边根据自己的实际环境情况做了一个修改,内容修改为:

#NoEnv
SetWorkingDir %A_ScriptDir% ; Bind the script to Win + Ctrl + S; modify as needed
#^s::
; Run Python w/o a window in a virtual environment in .venv
; Modify the command as needed, e.g. if not using a virtual environment
Run, textshot
Return

脚本内容含义解读:

  • #^s::,设置快捷键为Ctrl+Win+S
  • Run, textshot,执行textshot命令

然后将textshot.ahk的默认打开方式修改为AutoHotkeyU64.exe

经过上述设置之后,只需要按快捷键Ctrl+Win+S就可以开始textshot截图了。

但是在我使用这种通过快捷键打开textshot的方式时,会弹出一个Windows控制台窗口,有时候这个窗口会遮盖我需要截图的区域,有一些不方便。

解决办法:在这个窗口弹出来,鼠标指针未变成十字形之前,把窗口拖到一边,这样就不再有任何影响了。

【参考】

https://zhuanlan.zhihu.com/p/35379309 Windows 自动化效率神器:AutoHotkey 使用教程和脚本推荐

http://www.cleartechfei.com/2021/03/ahk脚本-基本用法/ AHK脚本-基本用法

好用的OCR文本识别工具的更多相关文章

  1. 个人永久性免费-Excel催化剂功能第86波-人工智能之图像OCR文本识别全覆盖

    在上一年中,Excel催化剂已经送上一波人工智能系列功能,鉴于部分高端用户的需求,再次给予实现了复杂的图像OCR识别,包含几乎所有日常场景,让公司个人手头的图像非结构化数据瞬间变为可进行结构化处理分析 ...

  2. 用OCR文字识别工具来审阅和处理PDF内容

    "工作的时候要同时打开好几个软件真的是太不方便了."很多公司白领都有这样的困扰.他们抱怨着进行文字识别过后又要打开文档编辑器来进行编辑.PDF是办公文档常用的格式, ABBYY F ...

  3. OCR文字识别软件 怎么识别包含非常规符号的文本

    ABBYY FineReader 12 是一款OCR图文识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,有时文本中可能会包含一些非常规的符号,此时ABBYY ...

  4. Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)

    身份证识别:https://github.com/wenchaosong/OCR_identify 遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库 ...

  5. 用深度学习做命名实体识别(二):文本标注工具brat

    本篇文章,将带你一步步的安装文本标注工具brat. brat是一个文本标注工具,可以标注实体,事件.关系.属性等,只支持在linux下安装,其使用需要webserver,官方给出的教程使用的是Apac ...

  6. OCR场景文本识别:文字检测+文字识别

    一. 应用背景 OCR(Optical Character Recognition)文字识别技术的应用领域主要包括:证件识别.车牌识别.智慧医疗.pdf文档转换为Word.拍照识别.截图识别.网络图片 ...

  7. CVPR2020论文解读:OCR场景文本识别

    CVPR2020论文解读:OCR场景文本识别 ABCNet:  Real-time Scene Text Spotting with Adaptive Bezier-Curve Network∗ 论文 ...

  8. 如何用OCR图文识别软件在文档里复制内容

    ABBYY FineReader 12是一款OCR图文识别软件,可从文档中复制文本.图片和表格,粘贴到其他应用程序中.无需识别整个文档(关于ABBYY FineReader识别文档的文章,请参考解析A ...

  9. OCR文字识别软件许可文件被误删了怎么办

    使用任何一款软件,都会有误操作的情况发生,比如清理文件时一不小心删除了许可文件,对于ABBYY FineReader 12这样一款OCR文字识别软件,因失误错误删除了许可文件该怎么办呢?今天就来给大家 ...

  10. 6 个优秀的开源 OCR 光学字符识别工具

    转自:http://sigvc.org/bbs/thread-870-1-1.html 纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成.而过去几年,无纸化办公的概念发生了显 ...

随机推荐

  1. [转帖]rclone将本地文件或文件夹导入minio中

    1.背景:公司数据迁移涉及到文件迁移,原有文件服务器没有使用minio,但是现在的新系统使用了minio.所以这就需要我们将文件上传到minio文件服务器中:由于历史文件数据量大,甲方要求可以通过服务 ...

  2. [转帖]12.计算机网络---iptables防火墙管理工具

    文章目录 一.防火墙基础知识 1.1 防火墙是什么? 1.2 iptables基础知识 1.3 netfilter和iptables的关系: 1.4 新型防火墙工具:firewalld 二.iptab ...

  3. java 调优需要关闭的组建

  4. 记录一次RPC服务有损上线的分析过程

    1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常. 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致.即所谓的有损上线或者是直接发布,当应用启动时,service还 ...

  5. Spring缓存是如何实现的?如何扩展使其支持过期删除功能?

    前言:在我们的应用中,有一些数据是通过rpc获取的远端数据,该数据不会经常变化,允许客户端在本地缓存一定时间. 该场景逻辑简单,缓存数据较小,不需要持久化,所以不希望引入其他第三方缓存工具加重应用负担 ...

  6. vue中jsx

    //item.vue 文件如下 <template> <div> <h1 v-if="id===1"> <slot></slo ...

  7. elementui 的tabs组件出现蓝色边框问题

    elementui 的tabs组件出现蓝色边框问题 /deep/ .el-tabs__item:focus.is-active.is-focus:not(:active) { -webkit-box- ...

  8. 深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景

    深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述.常用CRNN识别方法.DBNet.CTPN检测方法等.评估指标.应用场景 1.OCR综述 OCR(Optical Character ...

  9. python3 牛客网:OJ在线编程常见输入输出练习(ACM模式)

    牛客网: 校招笔试真题_C++工程师.golang工程师_牛客网 其他语言输入输出见链接 1.输入两个数,输入数据包括多组. while True: try: a = list(map(int,inp ...

  10. 8.1 Windows驱动开发:内核文件读写系列函数

    在应用层下的文件操作只需要调用微软应用层下的API函数及C库标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头 ...