赞
踩
gnome-screenshot
进行截取需要被文字识别的图片;tesseract
,进行识别;# 添加源
sudo add-apt-repository ppa:alex-p/tesseract-ocr
# 更新源
sudo apt update
# 安装
sudo apt install tesseract-ocr
安装字库
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
将以下代码复制到文档,并将后缀改成 .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
注意:中文识别情况下,有可能每个字之间都有空格,所以我在脚本里添加了去除空格的代码。
添加运行权限
sudo chmod a+x ocr.sh
打开系统设置
,点击键盘快捷键
,右边拉到底部可看到+
号,点击+
号添加快捷键。
创建快捷键:
名称:自由设置,建议以shell脚本名称命名;
命令:bash 这里换成你自己shell脚本ocr.sh
所在的路径;例如,我这里的bash命令为:
bash /home/chh3213/The_linux_world_of_CHH/trick/OCR_create/ocr.sh
到这里,就配置完成了。直接使用快捷键即可进入截屏模式,截取想要识别的文字区域,等待片刻后便可在指定目录生成src.png和src.txt文件,同时,文字会自动复制到剪切板,可以直接粘贴使用。抓紧去试试吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。