最近在用NixOS(gnome环境)时,想要实现截图识别文字并直接粘贴的功能,查看资料之后找到以下解决方案。
安装以下软件包
xclip
tesseract
imagemagick
gnome.gnome-screenshot
编写shell脚本
ocr.sh,假设放在/home/fangn/.ocr/
下
#/bin/bash
# 修改 {Username} 为你的用户名
OCR_PATH="/home/{Username}/.ocr/temp"
# 若文件夹不存在则创建
if [ ! -d "$OCR_PATH" ]; then
mkdir -p "$OCR_PATH"
fi
# 截图
gnome-screenshot -a -f $OCR_PATH.png
# 图片处理来增强识别率
mogrify -modulate 100,0 -resize 400% $OCR_PATH.png
# 使用 tesseract 识别英文和简体中文 eng+chi_sim
tesseract $OCR_PATH.png $OCR_PATH &> /dev/null -l eng+chi_sim
# 将识别结果复制到剪贴板
cat $OCR_PATH.txt | sed 's/ //g' | tr -d '\n' | xclip -selection clipboard
# 删除临时文件
rm $OCR_PATH.png $OCR_PATH.txt
exit
设置快捷键