Ubuntu使用tesseract搭建OCR工具

文章目录[x]
  1. 1:前言
  2. 2:主要思路
  3. 3:安装依赖
  4. 4:安装gnome-screenshot,xclip, imagemagick
  5. 5:安装字库
  6. 6:制作shell脚本
  7. 7:设置快捷键

前言

主要思路

  1. 利用gnome-screenshot工具进行截图
  2. 使用tesseract进行识别
  3. 将结果输出到文件和剪切板

安装依赖

sudo add-apt-repository ppa:alex-p/tesseract-ocr
sudo apt-get update
sudo apt-get install tesseract-ocr

安装gnome-screenshot,xclip, imagemagick

  • gnome-screenshot一般是自带的
sudo apt-get install gnome-screenshot
sudo apt-get install xclip
sudo apt-get install imagemagick

安装字库

  • 第一种:github:https://github.com/tesseract-ocr/tessdata
  • 第二种:YouWolf云(我个人搭建的云盘)(仅提供中英字体):
    抱歉,只有登录并在本站任一文章发表评论才能阅读隐藏内容
  • 下载解压后.traineddata字库文件放到tessdata目录下,默认路径是/usr/share/tesseract-ocr/4.00/tessdata

制作shell脚本

  • 新建OCR.sh文件,并将以下代码复制粘贴,增加运行权限,代码中,SCR="/home/Username/Documents/temp"双引号中的路径替换成你想要存放截图以及识别结果txt文档的路径
cd ~/文档
gedit OCR.sh
sudo chmod a+x OCR.sh
  • 代码:
#!/bin/env bash 
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip

#Name: OCR Picture
#Author:andrew
#Fuction: take a screenshot and OCR the letters in the picture
#Path: /home/Username/...
#Date: 2020-02-10

#you can only scan one character at a time
SCR="/home/Username/Documents/temp"

####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

####use sed to delete the blanks & get the text and copy to clipboard
cat $SCR.txt | sed 's/ //g' | xclip -selection clipboard

#需要删除换行请使用此语句 并注释上一句(行首加#)
#cat $SCR.txt | sed 's/ //g'| xargs | xclip -selection clipboard

#弹窗提示OCR结束 the code below Thanks to 陈留阳
notify-send "OCR Done"

exit

设置快捷键

  • 进入到设置->键盘快捷键->拉到底部->点击+

image-20200626103651895

  • 添加快捷键,建议名称为OCR,命令填OCR.sh的路径,快捷键自由设置,注意bash后面有一个空格

image-20200626103826568

点赞

发表评论

Title - Artist
0:00