Tesseract는 구글이 만든 OCR엔진입니다. 오픈소스라 무료로 이용이 가능합니다. 다만 사용하기 애매하게 만들어졌다는 단점이 있습니다만, Python으로 이용 가능하도록 누군가가 잘 Wrapper를 만들었습니다. 동작하는거 봐서는 그냥 /tmp에다가 넣어서 뿌리는 듯 하지만요.
제가 사용한 것은 pytesseract(https://github.com/madmaze/pytesseract/)란 놈으로 그냥 시스템에 설치된 tesseract를 실행해주는 간단한 스크립트입니다. 대신 간단한 만큼 /tmp를 어마어마하게 써 댑니다. 그냥 tmpfs로 마운트해서 써야겠습니다. python-tesseract(https://code.google.com/p/python-tesseract/)를 쓰면 좀 나을 것 같기는 한데 라이브러리 방식에 고생을 할 것 같으니 일단은 넘어갑시다.
대충 아래와 같이 쓰면 되기 때문에 간단하게 OCR을 쓸 수 있습니다.
우분투에선
sudo apt-get install tesseract-ocr
위 명령어로 OCR엔진을 설치할 수 있구요.(어쨌건 해당 엔진이 설치되어 있어야 합니다.)
|
다른것은 둘째 치고 hocr로 만들어주는 고마운 기능이 있더군요.
print image_to_string(image 객체,lang=None, boxes=False, config="o hocr") |
요런 명령을 때리면 hocr로 뽑아주는데 에러가 납니다....
알고보니 hocr기능이 들어가기 전에 프로젝트가 중단된 것인지 소스 수정이 필요하더군요.
/usr/local/lib/python2.7/dist-packages/pytesseract 여기로 쫓아가서
pytesseract.py 파일을 관리자 권한으로 열어줍시다.
if not boxes: |
if not boxes: if config=="o hocr": output_file_name = '%s.hocr' % output_file_name_base else: output_file_name = '%s.txt' % output_file_name_base else: output_file_name = '%s.box' % output_file_name_base |
위의 것을 아래로 수정하시면 hocr로 뽑히게 됩니다. 뽑힌 내용을 QTwebview등으로 뿌리면 OCR화 된 내용을 볼 수 있습니다. 그렇다는 것은 크롬에서 hocr파일을 열고 구글의 번역 기능을 돌려버릴 수도 있고 (구글 번역 기능은 api 사용료가 붙습니다. 하지만 크롬을 쓰면 이야기는 달라집니다.) PDF화도 가능합니다.
....사실 python보다는 bash로 처리하는 것이 훨씬 더 경제적이었다는 느낌이 드네요. 뭐하러 Python으로 만들었지?
'기타 삽질' 카테고리의 다른 글
Windows 10 ATI 구식 드라이버 강제 설치하기 (1) | 2016.01.27 |
---|---|
리눅스/Mac용 Matlab 단축키 Windows스타일로 설정 바꾸기 (0) | 2015.10.05 |
QTCreator와 Python의 조합 (0) | 2015.03.28 |
아두이노 5V 출력이 시원찮을 때 (3) | 2014.12.05 |
Long Live The Queen 엔진교체 및 한글패치 개선 스크립트 적용 (22) | 2014.08.08 |