tess-two를 통해 안드로이드 애플리케이션에 OCR 기능 추가

2649 단어 AndroidOCR
SlideViewer에 응용 프로그램이 발표되었다.
그곳에서는 Speaker Deck 슬라이드를 표시할 수 있지만 텍스트를 복사할 수 없습니다.
이에 따라 https://github.com/noboru-i/SlideViewer/pull/44/files 변경까지 더해 OCR 기능이 추가됐다.

tess-two 가져오기


Tesseract 나는 OCR의 프로그램 라이브러리를 사용하기로 결정했다.
rmtheis/tess-twoTesseract의 자물쇠 라이브러리는 안드로이드를 쉽게 가져올 수 있을 것 같다.
README에 적힌 대로 추가compile 'com.rmtheis:tess-two:6.2.0'.
또한 NDK가 필요하므로 참조프로젝트에 C/C++ 코드 추가 | Android Studio로 설치했습니다.
이제 SDK Manager에서 [LDB], [Cmak], [NDK] 세 개만 설치하면 됩니다.

언어 파일 다운로드


Pre-requisites에 기재된 바와 같이 .traineddata 등의 서류가 필요하다.
OcrUtil.download 실현해 보았습니다.
디렉터리 이름에도 규칙이 있는 것 같습니다. 이런 느낌. 에서 디렉터리를 생성했습니다.OkHttp에서 다운로드하고 FileOutputStream에 쓰십시오.

해석


https://github.com/noboru-i/SlideViewer/pull/44/files#diff-58c7b26f0bf059f14d726dd10196893bR426
glide의 asBitmap을 사용하여 Bitmap을 얻습니다.OcrUtil.recognizeText 실제 해석 처리를 진행했다.
그림도 Bitmap.Config.ARGB_8888 형식이 아닌 경우가 있는데 그러면 오류가 발생하기 때문에 통일로 전환해야 한다.

결실



이런 느낌으로 텍스트를 분석할 수 있다.
다만, 배경의 이미지가 복잡한 상황, 문자가 사소한 상황 등은 잘 식별되지 않는 경우가 많다.
또 일본어 사전을 내려받을 수 있는 기능도 있지만, 그 기능을 이용했더라도 일본어에 대한 인식 정밀도는 낮았다.
또 두 가지 언어를 동시에 사용할 수 없어 일본어와 영어가 섞인 텍스트에 대한 식별이 프로그램적으로 아무것도 하지 않으면 의미가 없을 수도 있다.

좋은 웹페이지 즐겨찾기