前言
在 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 貼上,就可以看到辨識的結果了。
