当前位置:   article > 正文

超简单教程——Linux下自制OCR文字识别_linux ocr文字识别软件

linux ocr文字识别软件

参考资料

  1. https://www.bilibili.com/video/av90573946/
  2. https://blog.csdn.net/jia12216/article/details/55222907

1. 主要思路

  1. 利用截图软件 gnome-screenshot 进行截取需要被文字识别的图片;
  2. 利用文字识别OCR软件tesseract,进行识别;
  3. 将识别到的结果输出,复制到文件和剪切板。

2. 安装依赖

  • 安装tesseract

    # 添加源
    sudo add-apt-repository ppa:alex-p/tesseract-ocr
    # 更新源 
    sudo apt update 
    # 安装
    sudo apt install tesseract-ocr 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 安装字库
    tesseract支持60多种语言的识别,使用之前需要先下载对应语言的字库;
    完整字库下载地址:
    https://github.com/tesseract-ocr/tessdata
    简中英字库下载地址:
    https://share.weiyun.com/5IJtlcY

    下载完成之后把.traineddata后缀名字库文件放到tessdata目录下,默认路径是/usr/share/tesseract-ocr/4.00/tessdata
    在这里插入图片描述

  • 安装gnome-screenshot,xclip,imagemagick

    sudo apt install gnome-screenshot
    sudo apt install xclip
    sudo apt install imagemagick
    
    • 1
    • 2
    • 3

3. 制作shell脚本

将以下代码复制到文档,并将后缀改成 .sh ,例如命名为ocr.sh

注意:将变量SCR路径部分替换成你想要存放截图以及识别结果txt文档的路径;

#!/bin/env zsh 
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip

#Name: OCR Picture
#Fuction: take a screenshot and OCR the letters in the picture
#Path: /home/Username/...

#you can only scan one character at a time
SCR="/home/chh3213/The_linux_world_of_CHH/trick/OCR_create/temp/src"
SCR2="/home/chh3213/The_linux_world_of_CHH/trick/OCR_create/temp/src2"
# take a shot what you wana to OCR to text
gnome-screenshot -a -f $SCR.png

# increase the png
mogrify -modulate 100,0 -resize 400% $SCR.png 
# should increase detection rate

# OCR by tesseract
tesseract $SCR.png $SCR &> /dev/null -l eng+chi1

# get the text and copy to clipboard

#sed -i 's/[[:space:]]//g' $SCR.txt # 删除空格方式1
#sed -i 's/\ //g' $SCR.txt  # 删除空格方式2
cat $SCR.txt  | sed -r 's/([^0-9a-z])?\s+([^0-9a-z])/\1\2/ig'>$SCR2.txt  # 解决每个汉字之间有空格的情况,英文单词间空格依旧保留
cat $SCR2.txt | xclip -selection clipboard
exit

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

注意:中文识别情况下,有可能每个字之间都有空格,所以我在脚本里添加了去除空格的代码。

添加运行权限

sudo chmod a+x ocr.sh
  • 1

4. 设置快捷键,一键调用shell脚本

  • 打开系统设置,点击键盘快捷键,右边拉到底部可看到+号,点击+号添加快捷键。
    在这里插入图片描述

  • 创建快捷键:

    • 名称:自由设置,建议以shell脚本名称命名;

    • 命令:bash 这里换成你自己shell脚本ocr.sh所在的路径;例如,我这里的bash命令为:

      bash /home/chh3213/The_linux_world_of_CHH/trick/OCR_create/ocr.sh
      
      • 1

    在这里插入图片描述

到这里,就配置完成了。直接使用快捷键即可进入截屏模式,截取想要识别的文字区域,等待片刻后便可在指定目录生成src.png和src.txt文件,同时,文字会自动复制到剪切板,可以直接粘贴使用。抓紧去试试吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/1014298
推荐阅读
相关标签
  

闽ICP备14008679号