서론
macOS에서는 스크린샷을 찍은 후 바로 텍스트를 인식하는 기능에 익숙해져서, Ubuntu에서도 이 기능을 원하게 되었습니다.
구현 방식은 대략 다음과 같습니다: 스크린샷 -> 저장 -> 인식 -> 클립보드에 복사
여러 검색 끝에 tesseract라는 오픈소스 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로 붙여넣으면 인식된 결과를 볼 수 있습니다.
