Linux系统上安装截图式OCR——tesseract-ocr(解决空格)
本文主要参考了知乎文章在Linux系统上一键安装截图式OCR,本系统为Ubuntu20.04,安装过程流畅丝滑,但存在截图后中文很容易出现空格,因此为了解决空格,通过使用文心一言和Poe对话调试,采取了一个很笨的方案,但相对有效。现分享如下:
1.安装python3
sudo apt-get install python3
2.将原本的ocr.sh文件修改为如下
#!/bin/env bash
# 截图并保存到临时文件
SCR="/home/nbeer/Documents/OCR/temp"
gnome-screenshot -a -f $SCR.png
# 图像处理,提高OCR识别率
mogrify -modulate 100,0 -resize 400% $SCR.png
# 运行OCR并处理结果
tesseract $SCR.png $SCR &> /dev/null -l eng+chi_sim
# cat $SCR.txt | xclip -selection clipboard
cat $SCR.txt | python3 -c "
import re
import sys
text = sys.stdin.read()
text = re.sub(r'([\u4e00-\u9fa5])\s+([\u4e00-\u9fa5])', r'\1\2', text)
text = re.sub(r'([0-9a-zA-Z])\s+([\u4e00-\u9fa5])', r'\1\2', text)
text = re.sub(r'([\u4e00-\u9fa5])\s+([0-9a-zA-Z])', r'\1\2', text)
text = re.sub(r'([^0-9a-zA-Z\s])\s+([\u4e00-\u9fa5])', r'\1\2', text)
text = re.sub(r'([\u4e00-\u9fa5])\s+([^0-9a-zA-Z\s])', r'\1\2', text)
print(text)
"|xclip -selection clipboard
# 清理临时文件
rm $SCR.png $SCR.txt
exit
现在Alt+A截图,几乎就没有空格了

---------------------------------------------------------------分割线-------------------------------------------------------------------------------
在这里推荐一个开源的截图软件eSearch,这个软件不仅仅具备离线OCR的功能,而且具备截图、录屏、屏幕贴图等功能,功能很多,而且支持多平台,这就使得我的linux平台截图具有了和微信截图类似的使用流程,方便了很多,更多信息请访问作者xushengfeng的Github链接(向xushengfeng大佬表示致敬~~)
浙公网安备 33010602011771号