Autohotkey 잘~ 사용하고 계신가요? 저는 가끔씩 오토핫키 포럼에 들어가 보는데~ 오토핫키 포럼에 들어가면 정말 훌륭한 Autohotkey 코드들이 많이 있습니다. 최근에는 조금 뜸하게 들어가 보다가 이번에 Autohotkey 포럼에서 찾은 괜찮은 코드를 하나 소개해 드리려고 합니다.

오토핫키 포럼의 주소는 아래와 같습니다.

https://www.autohotkey.com/boards/

오토핫키 포럼에서 괜찮은 프로젝트들을 찾기 위해서는 아래 주소의 “Scripts and Functions” 페이지에 들어가 보면 됩니다.

https://www.autohotkey.com/boards/viewforum.php?f=6&sid=a590fb371498805bf28158722033ff21

그 중에 최근 발견한 괜찮은 Autohotkey 코드는 Vis2 라는 Image to Text OCR 라이브러리 입니다. 포럼에서 Vis2 에 대한 소개 페이지는 아래와 같은데 ~

https://www.autohotkey.com/boards/viewtopic.php?f=6&t=36047

위 주소에서 설명하듯이 단축키를 사용하여 화면의 이미지로부터 텍스트를 추출할수 있는 어플리케이션 입니다. 순수 Autohotkey 로 만들어진 것은 아니고 OCR(Optical Character Recognition) 을 하는데 아래 포스팅에서 소개해던 tesseract 를 사용하게 됩니다.

http://iamaman.tistory.com/2615

Vis2를 사용하기 위해서는 아래 github 페이지에서 코드를 클론 또는 다운로드 한 후에~ demo.ahk 파일을 실행시켜 보면~ 데모 프로그램이 실행되고~

https://github.com/iseahound/Vis2

git clone https://github.com/iseahound/Vis2.git

아래와 같이 샘플코드가 실행되는 것을 확인 할 수 있습니다.

메시지 박스로 나오는 부분은 같이 들어있는 test.jpg 이미지에 대한 OCR 결과가 나오는 것을 확인 할 수 있고 프로그램 실행시 소개되는 내용과 같이 Win + C 단축키를 통해 텍스트 인식을 실행 할 수 있습니다.

아래 주소에서 tesseract 언어 파일들을 다운로드 해서 영어 이외의 다른 언어들에 대해서도 인식이 가능하다고 합니다.

https://github.com/tesseract-ocr/tessdata_best

https://github.com/tesseract-ocr/tessdata_fast

코드에서 확인 할 수 있는 바와 같이 Win + C 를 누르면 OCR 이 실행되고 기본 언어는 영어 입니다. ① 에서와 같이 인식하고 싶은 부분을 Drag 해서 블록 설정하면 ② 부분과 같이 인식된 텍스트가 나오게 됩니다.

그리고 인식된 텍스트는 클립보드에 저장 됩니다. 따라서 Ctrl + V 를 통해 인식된 텍스트를 붙여넣기 할 수 있습니다.

아래 포스팅에서 소개했던 Capture2Text 와 유사한 툴이라 비교하면서 사용해 보시는 것도 좋을 것 같습니다.

http://iamaman.tistory.com/2616



  1. 강삼성 2019.01.02 16:59

    관리자의 승인을 기다리고 있는 댓글입니다

  2. 2019.01.28 15:07

    비밀댓글입니다

    • 남성 2019.01.28 15:48 신고

      ansi 32, unicode 32 둘 다 정상적으로 동작하는데요.... 탐색기에서 demo.ahk 파일을 더블 클릭해서 실행하신 건가요?

    • 오토핫키 2019.01.28 23:05

      Sci에서 f5로 실행 후 확인했습니다.

    • 남성 2019.01.28 23:35 신고

      Autohotkey_L 버전 맞는거죠? 저도 SCI 에서 실행해 봤는데 정상적으로 동작하는데요. 혹시 basic 버전이나 H 버전 같은건 아닌가 해서요.

    • 오토핫키 2019.01.28 23:59

      L버전은 맞습니다.
      단 뮤텍스 수정한 1.1.20.03버전입니다.
      너무 오래된 버전이라 안 될 수도 있을듯 하네요 최신버전으로 설치해서 다시 해봐야겠습니다.

  3. 오토핫키 2019.01.30 11:32

    최신버전으로 설치 후 실행하니 정상작동하네요 감사합니다.

아래 포스팅에서 윈도우에서 사용할 수 있는 OCR 툴로서 Tesseract-OCR 라는 툴에 대한 설치 및 간단한 사용 방법에 대해서 소개를 한 적이 있습니다. 오늘은 비슷하지만 조금 다른 특성을 가진 윈도우 OCR 툴인 Capture2Text 에 대해서 소개해 보려 합니다.

Capture2Text 의 홈페이지 주소는 아래와 같습니다. 아래 주소에서 Capture2Text 에 대한 소개를 확인해 보면 Capture2Text 는 설치가 필요 없는 portable 프로그램 이고, 구글 번역, TTS(Text to speech) 기능 등도 들어 있다고 합니다. 조그만 툴인것 같은데 굉장히 기능이 많은것 같습니다.

https://sourceforge.net/projects/capture2text/

설치가 필요 없기 때문에 위 주소에서 다운로드 버튼을 눌러서 다운로드 후에 압축을 해제하고 바로 사용하시면 됩니다. 제가 다운로드 해 보니 60메가 정도 되네요. 다운로드 버튼을 누르고 느긋하게 커피 한잔 하고 오시면 될 것 같습니다.

기본 언어로 한글도 포함되어 있기 때문에 특별히 추가적인 언어 설치를 할 필요는 없을 것 같지만 혹시나 추가적인 언어 설치가 필요하신 분들은 아래 주소에서 필요한 언어를 다운로드해서 Capture2Text 의 tessdata 폴더에 넣고 Capture2Text 를 재시작 하시면 됩니다.

https://sourceforge.net/projects/capture2text/files/Dictionaries/

저는 Chocolatey 를 통해 아래 명령어로 설치했고~

choco install capture2text

아래 폴더에 언어 파일이 설치된 것을 확인할 수 있었습니다.

C:\ProgramData\chocolatey\lib\capture2text\tools\Capture2Text_v4.5.1_64bit\tessdata

SourceForge.net 에서 다운로드 해서 설치 하신 분들은 아래 폴더에 언어 파일이 설치된 것을 확인할 수 있습니다.

Capture2Text_v4.6.0_64bit\Capture2Text\tessdata

설치 폴더를 확인해 보시면 아래와 같이 실행 파일이 두 개가 있는 것을 확인할 수가 있고~ 파일 이름을 보시면 아시겠지만 하나는 GUI 프로그램이고 하나는 CLI 프로그램 입니다.

Capture2Text.exe, Capture2Text_CLI.exe

Capture2Text.exe 를 실행하면 윈도우 작업표시줄에 프로그램이 실행 된 것을 확인할 수 있습니다.

해당 아이콘을 오른쪽 클릭해서 Settings 에 들어가보면 단축키를 확인할 수가 있는데 Win + Q 가 OCR 캡처를 시작하는 기본 단축키로 설정되어 있어서 Windows 10 의 Cortana 런치키와 충돌이 생기므로 저는 아래와 같이 Alt 를 같이 눌러주도록 설정을 했습니다.

기본 OCR 언어 설정은 영어로 되어 있고~ 캡처 하고 싶은 이미지 부분에 커서를 위치 시킨 후 위에서 설정한 Start OCR Capture 단축키를 누르면 캡처가 시작됩니다. 드래그 해서 범위를 설정해 주면 아래 화면에서 보시는 바와 같이 왼쪽 위편에 OCR 된 텍스트가 표시되고~ 드래그가 끝나면 캡쳐가 마무리 됩니다.

캡쳐가 마무리되면 인식된 텍스트가 클립보드에 들어가게 되고~ Ctrl + V 를 해서 붙여넣기를 하면 됩니다. 다른 언어를 인식하기 위해서는 아래와 같이 OCR 언어 설정을 변경해 준 후에 Start OCR Capture 과정을 진행하시면 됩니다.

테스트 해 본 결과 영어에 대한 인식은 대체적으로 잘 되는 것 같지만 한글에 대한 인식은 이전에 소개했던 Tesseract-OCR 에 비해 조금 떨어지는 것 같습니다. 

http://iamaman.tistory.com/2615


그래도 빠르게 캡처하면서 영어 이미지에 대해서 인식을 하는 경우에는 굉장히 좋은것 같고 캡처와 동시에 번역도 자동으로 되게 설정할 수 있기 때문에 OCR 후 바로 바로 번역하는 경우에는 정말 괜찮은 툴인것 같네요~



요즘 많은 분들이 알게 모르게 딥러닝 기술들을 실생활에서 사용을 하고 있습니다. 가장 가까이는 스마트폰을 통한 음성인식 기술들을 사용 하실 거고 번역 프로그램이나 SK T Map 등을 매우 자주 접하고 계실 거라고 생각합니다. OCR(Optical Character Recognition) 기술은 말 그대로 이미지로부터 글자를 인식하는 건데 예전부터 연구돼 왔지만 최근에 딥러닝 기술의 발달로 굉장히 빠르게 발전하고 있는 분야로 보입니다.

온라인에서 이미지로부터 텍스트를 추출하는 사이트로 아래와 같은 사이트들을 찾을 수가 있었습니다. OCR 툴을 설치할 필요 없이 빠르게 OCR 서비스만 이용하고 싶을 때 사용하시면 좋을 것 같습니다.

http://www.free-online-ocr.com/

https://www.onlineocr.net/

https://www.newocr.com/

위에서 소개한 웹사이트들을 사용하기 위해서는 이미지 파일을 업로드 해야 하는데 사정에 따라서 업로드가 안 되거나 업로드하기 곤란한 이미지가 있을 수 있습니다. 그럴 땐 어쩔 수 없이 OCR 툴을 설치해서 사용해야 하고 그래서 검색을 좀 해 보니 Tesseract-OCR 이라는 프로그램이 눈에 띄었습니다.

저는 현재 Windows 10 운영체제를 사용하고 있고 tesseract 윈도우 버전을 검색해 보니 아래 주소를 찾을 수 있었습니다.

https://github.com/UB-Mannheim/tesseract/wiki

아래 그림과 같이 3점대 버전이나 4점대의 베타버전 인스톨러를 다운로드 받아서 설치 하시면 됩니다.

저는 아래 그림과 같이 추가적인 스크립트, 언어 데이터를 체크를 해서 설치했습니다. 보통은 영어 한국어만 주로 사용하겠지만 기왕 설치하는거 그냥 다 설치 해 보자 하는 생각이 들어서 모두 다 설치하도록 체크를 했습니다.

저는 4점 대의 베타 버전을 다운로드 받아서 설치를 했는데 설치 중간에 없는 언어 파일들이 있더군요. 그런 파일들은 그냥 넘어가면서 설치를 완료 했습니다.

Tesseract-OCR 은 아래 폴더에 설치 되고~ 해당 주소를 path 환경 변수에 등록해 주셔야 아무 폴더에서나 Tesseract-OCR 을 사용할 수 있습니다. 설치하고 보니 64비트 프로그램을 설치 했는데 “Program Files (x86)“ 폴더에 설치 되는 것은 조금 특이하네요.

C:\Program Files (x86)\Tesseract-OCR

윈도우 환경변수 등록을 할 때는 아래 포스팅에서 소개했던 Rapid Environment Editor 를 사용해 보시기 바랍니다.

http://iamaman.tistory.com/1213

환경변수 등록까지를 마쳤으면~ 다음과 같이 cmd 창에서 Tesseract-OCR 을 사용할 수 있습니다.

위키백과의 한 부분을 캡처를 했고~ 해당 파일 이름은 PrtScrcapture_8.jpg 로 저장했습니다.

그리고 다음과 같이 tesseract 명령어를 사용했습니다. 한글을 인식하는 것이므로 -L 옵션에 kor 이라고 명시를 해 줬습니다.

tesseract PrtScrcapture_8.jpg test.txt -l kor

몇 초 지나서 test.txt 파일이 생성되고 확인해 보니~ 아래 그림과 같이 한글이 추출된 것을 확인할 수 있었습니다.

물론 이미지로부터의 한글 인식이 완벽한 것은 아니었지만 나름 볼 만한 수준이었던 걸로 보이고~ 위 캡처 내용을 보면 글자 색이 다른 부분이나 추가적인 이미지 등이 있는데 회색조로 변경하거나 하는 추가적인 이미지 처리를 한 후에 tesseract 를 사용하여 글자 인식을 한다면 조금 더 좋은 결과가 나오지 않을까 하는 생각이 들었습니다.



+ Recent posts