Ubuntu 截图后文字识别 (OCR) 复制到剪切板

前言

在 macOS 中习惯了截图后直接识别文字,于是在 Ubuntu 中也想要这个功能。

实现思路的思路大概是:截图 -> 保存 -> 识别 -> 复制到剪贴板

在一番搜索后,发现了 teseract 一款开源的 OCR 识别引擎,它可以识别多种语言,支持多种格式的图片,满足我们的需要。

系统信息

  • Ubuntu 22.10 kinetic

安装过程

# 安装 tesseract-ocr 识别引擎
sudo apt install tesseract-ocr -y
# 安装 tesseract-ocr 简体中文
sudo apt install tesseract-ocr-chi-sim -y
# 安装 xclip 剪贴板工具
sudo apt install xclip -y
# 安装 gnome-screenshot 截图工具
sudo apt install gnome-screenshot -y
# 安装 imagemagick 图片处理工具
sudo apt install imagemagick -y

制作脚本

~/Documents/OCR 目录下创建 ocr.sh 文件,写入以下内容:

#!/bin/env bash 

# 修改 {Username} 为你的用户名
SCR="/home/{Username}/Documents/OCR/temp"

# 截图
gnome-screenshot -a -f $SCR.png

# 图片处理来增强识别率
mogrify -modulate 100,0 -resize 400% $SCR.png 

# 使用 tesseract 识别英文和简体中文 eng+chi_sim
tesseract $SCR.png $SCR &> /dev/null -l eng+chi_sim

# 将识别结果复制到剪贴板
cat $SCR.txt | xclip -selection clipboard

# 删除临时文件
rm $SCR.png $SCR.txt

exit

添加快捷键

设置 -> 键盘 -> 快捷键 中添加快捷键 名称为 OCR 命令为 bash /home/{Username}/Documents/OCR/ocr.sh 快捷键为 Ctrl + Print Screen

测试

使用 Ctrl + Print Screen 截图,然后使用 Ctrl + V 粘贴,就可以看到识别的结果了。

参考资料

Linux下自制OCR软件


最后修改于 2023-03-22


感谢您的支持 :D