토이 프로젝트에서 OCR을 할 일이 생김
Go언어를 이용할거라 찾아봤는데 역시나 있음!
해당 사이트에서 서버 어플리케이션으로 지원하는 gosseract OCR을 이용해 테스트 이미지를 넣어봤음
의외로 잘 인식했고 이 라이브러리를 사용하기로 결정
Install 부분을 보니 tesseract-ocr 라이브러리를 이용한 gosseract를 사용하는건데 생각보다 쉽지 않았음
토이 프로젝트의 환경이 windows 환경인데 issue에 나와 같이 진행 못하는 사람들이 몇몇 확인되었음
설치부터 난관에 부딪혔고 시간이 많지 않았기 때문에 다른 방법을 생각해야했음
그리고 tesseract-ocr을 설치하고 혹시나 해서 커맨드로 직접 명령 프롬프트에서 실행할 수 있는지 확인
설치 파일 위치는 여기 > https://github.com/UB-Mannheim/tesseract/wiki
다행히 실행하는데는 큰 문제가 없었고 Go언어에서 tesseract.exe와 ocr 변환을 원하는 이미지를 넣고 실행하기로 결정
명령 프롬프트에서 기본 사용법은 아래와 같음
1 | > tesseract.exe temp.png stdout |
이걸 Go언어에서는 exec.Command
를 이용해 실행하면 됨
1 | result, err := exec.Command("%tesseract_path%\\tesseract.exe", "temp.png", "stdout", "--psm", "8", "-c", "tessedit_char_whitelist=0123456789").Output() |
psm
인자는 Page segmentation modes
라고 하는데 인식 규칙정도라고 할 수 있음
자세한건 검색하면 나오는데 내가 테스트한 이미지들은 8
에서 가장 인식률이 좋았음
그리고 숫자만 필터링 하기 위해 -c tessedit_char_whitelist=0123456789
인자를 추가했음
결과는 생각보다 쉽게 OCR을 변환한 정보를 얻을 수는 있는데 신뢰도를 올리기 위해서는 몇가지 작업이 더 필요할 것으로 보이고 테스트를 통해 따로 포스팅할 예정
ps. 그리고 저 gosseract를 이용해서 깔끔하게 처리하고싶어..