[MFC] Windows 10 OCR 만들기 : 1.Tesseract(5.0.0) 컴파일
우선 참조한 블로그 : 아는대로 지껄이는 블로그
친한 동생이 타 기관에서 자료를 받았는데
파일이 아닌 팩스나 엑셀 파일을 캡쳐하여 이미지로 보내주어 손으로 일일이 다 쳐서 업무를
진행하였단 말을 듣고 불쌍한 마음에 'OCR 간단하자나...' 라는 생각이 들어 시작하게 되었으나...
역시 이론과 실전은 다르다고 Tesseract 컴파일 하는데만 무지 시간을 잡아먹으며 삽질의 연속 이었다.
각설하고 컴파일한거 설명해보도록 하자
우선 vs2015 이상이 필요하며 CMake 도 필요하니 미리 준비하도록 하자
개발 환경 : VS2022(Preview Ver.), Windows 10
Tesseract를 컴파일 하려면 Leptonica 를 컴파일 해야하고
Leptonica 를 컴파일 하려면 여러 lib파일들이 필요한데
이는 https://github.com/peirick/Tesseract-OCR_for_Windows 에서 다운로드 가능하다.
다운로드가 완료 되면 tesseract 프로젝트를 실행하여 컴파일 하도록 하자.
처음 냅다 컴파일 하면 무지막지한 에러들을 볼 수 있다.
하지만 폴더 내에 있는 Release 폴더에 가보면 우리가 필요로 하는 lib파일들이 생성된 것을 볼 수 있다. (Tesseract-OCR_for_Windows-master\x64\Release)
자 이제 Leptonica를 컴파일 해보자
Leptonica 는 공식 사이트나 Git Hub에 있으니 둘 중 편한 Git Hub에서 받자
https://github.com/danbloomberg/leptonica
git clone https://github.com/danbloomberg/leptonica.git
다운로드 후 Leptonica 폴더 안에 build 폴더랑 lib 폴더를 생성해준다.
그리고 CMake 를 실행한 후 소스 폴더와 빌드 폴더를 각각
Leptonica 폴더와 build 폴더로 지정한다.
그리고 위에서 만들었던 lib 파일들을 생성한 lib 폴더 안에 넣도록 하자
컴파일 옵션을 선택해준 후 finish 버튼을 누르면!에러가 난다..ㅎㅎ;;
그림에서 처럼 SWConfig.cmake 에러면 아래와 같이 SW_BUILD 항목을 해제하여 주면 에러가 발생하지 않는다.
그러고나면 build 폴더 안에 leptonica 프로젝트 파일이 있으며 이를 실행하여 컴파일 하자!
컴파일 후 build\src\Release 안에 lib 파일이 생성된 것을 확인할 수 있다.
자 드디어 tesseract 차례!!
Tesseract 도 Git Hub에서 받도록 하자!
https://github.com/tesseract-ocr/tesseract
git clone https://github.com/tesseract-ocr/tesseract.git
Leptonica와 마찬가지로 build, lib 폴더를 만들어 준 후 lib 폴더 안에 이전에 만들었던 Leptonica lib 파일을 카피!
CMake로 해당 폴더와 build 폴더를 선택 후 실행해보면 또 에러가 난다!! (짜증!!)
Leptonica 때 처럼 SW_Build 에러가 떠서 해제 후 다시 Configure 해보면 다시 다른 에러 발생!
LeptonicaConfig.cmake 파일을 찾아 달라고 하는 에러인데 이 파일은 Leptonica 폴더 안에 있다.
gui에서 바로 입력을 해도 되고 CMakeLists.txt 파일에 명령어를 추가 하여도 된다.
gui 추가 : Add Entry 누른 후 Name : Leptonica_DIR, Value : C:/Code/OCR/leptonica-1.81.1/build
CMakeLists.txt 추가 명령어
set(Leptonica_DIR "C:/Code/OCR/leptonica-1.81.1/build")
Generate 까지 마치고 나면 build 폴더 안에 프로젝트 파일이 생성된 것을 볼 수 있다.
tesseract 프로젝트를 실행하여 컴파일을 해보자
역시나 이젠 안뜨면 섭섭한 에러 메세지들
allheaders.h 파일이 없다는 메세지 인데 이 헤더는 Leptonica\src 폴더 안에 있다.
컴파일 시 해당 폴더를 접근할 수 있게 추라 포함 디렉터리에 해당 폴더를 추가하도록 하자
자세한 내용은 아는대로 지껄이는 블로그 를 참조하도록 하자
컴파일 하고 나면 exe 파일 하나와 lib 파일 하나가 생성된 것을 볼 수 있다.
일단 여기까지 tesseract 컴파일 완료!
다음으로 이 결과 물로 실제 이미지에서 글자를 추출하는 프로그램을 만들어 보도록 하자!
댓글
댓글 쓰기