2017년 9월 8일 금요일

php 이미지 글자 인식 (Tesseract OCR)

Tesseract OCR이라는 라이브러리가 있다 
c++로 작성 되있으며, 다른 언어들도 호환하는데 
OS에 install 한 후 언어로 연결해주는 형태이다.

지금 윈도우를 쓰니까 윈도우 기준으로 설치를 진행해보겠다.

https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows
에서 


를 다운-> 설치한다. 언어 셋팅하는게 있는데 난 중국어 일본어 한국어 이거 3개를 추가했다.
용량이 꽤 크다 . 언어 셋팅하니까 200MB가 더 증가함.


그다음 소스를 composer로 가져오겠다.

https://github.com/thiagoalessio/tesseract-ocr-for-php


As a composer dependency

{
    "require": {
        "thiagoalessio/tesseract_ocr": "1.1.0"
    }
}

기본적으로 테스트 코드를 실행해보려하면 tesseract 를 찾을수 없다고 
오류가 날것이다. 


->executable('"D:\ProgramFiles\Tesseract-OCR\tesseract.exe"')

이런식으로 있는 경로에 대해서 쌍따옴표로 감싸줘서 경로 셋팅 후 

echo (new TesseractOCR((__DIR__.'\images\admin.bmp')))->executable('"D:\ProgramFiles\Tesseract-OCR\tesseract.exe"')->lang('kor')->run()

이런식으로 실행해보면 된다. 이미지 경로 지정이야 알것이라 판단하고 lang 는 spread형태로 적어주면 된다.
('kor','eng','jpn') 이러한 형태로 

만약 오류가 난다면 

echo (new TesseractOCR((__DIR__.'\images\admin.bmp')))->executable('"D:\ProgramFiles\Tesseract-OCR\tesseract.exe"')->lang('kor')    ->buildCommand()

이러한 형태로 build 를 해서 cmd 창에서 실행해보면 자세한 오류를 알수 있다. 

다른 사람들은 잘 된다는데 난.. 한글이 잘 인식이 안된다...
영어는 그럭저럭 인식이 되는거 같다.

댓글 없음:

댓글 쓰기