[파이썬] 헷갈리기 쉬운 이미지 텍스트 추출 라이브러리 pytesseract 설치하기

반응형
    반응형

    pytesseract 설치 너무 헷갈려

    pytesseract를 설치하면 다라고 생각하고 진행했다가 방황하시는 분들이라면 이 글 보시고 해결하시기 바랍니다. 혼자 이미지 텍스트 추출 해보겠다고 시도했다가 pytesseract 설치하고 아주 구글링을 엄청 했습니다. gpt에서도 정확하게 나오지가 않아서 애를 많이 먹었습니다.

    tesseract란?

    tesseract는 ocr 기반으로 된 이미지 인식 기술입니다. 그림 위에 쓰여진 텍스트를 인식하기 위해 많이 사용합니다. 이미지 텍스트 추출 프로그램이나 서비스를 준비한다면 한번쯤은 써보는 프로그램이 tesseract입니다.

    파이썬에서 tesseract 사용하기

    먼저 파이썬에서 제공하는 보통 pytesseract를 설치할겁니다.

    pip install pytesseract

    이러고 바로 시작을 하면 tesseract를 설치하라는 오류가 나옵니다. 아니.. 설치를 방금 pip으로 했는데 다시 설치를 하라니? 이해가 안갑니다. 설치가 안된 줄 알고 pip을 몇번이나 했는지... 이 오류는 진짜 tesseract를 설치하라는 얘기입니다. tesseract 프로그램이 있는 상태에서 pytesseract가 되는 의존성 라이브러리입니다. pytesseract를 사용하려면 tesseract를 운영체제에 설치해야 합니다. 윈도우 기준으로 알려드립니다.

    아래 깁허브에 가서 윈도우용을 설치파일을 받습니다.

    https://github.com/UB-Mannheim/tesseract/wiki

    설치를 합니다.

     


    Additional script data와 Additional language data를 반드시 체크해두어야 합니다. tesseract 기본적으로 영어만 제공됩니다. 그외의 언어는 선택해야한다고 생각하는게 좋습니다. 텍스트 추출을 위해 설치하는 것이니 자신이 필요할 것 같은 언어를 다 선택해서 다운로드 받습니다.


    환경변수 편집을 해야하기 때문에 경로도 꼭 기억하고 있어야 합니다.

    환경변수 설정

    설치가 완료되면 환경변수를 설정합니다.
    환경변수에서 tesseract를 설정하지 않으면 아래와 같은 에러가 발생하니 반드시 해주어야 합니다.

    윈도우 시작에서 시스템 환경 변수 편집을 검색해서 들어갑니다.
    또는 제어판 - 시스템 - 고급시스템 설정(장치사향탭 관련링크) - 환경변수 으로 들어가셔도 무방합니다.

    환경변수에 들어가셔서 설치경로를 추가합니다.

    간단한 사용방법

    다음 이미지에서 데이터를 추출해보겠습니다.

    아래와 같이 합니다.

    import pytesseract
    from PIL import Image
    import pytesseract
    
    # 이미지 파일 경로
    image_path = r"이미지 파일 경로"
    
    # 이미지를 열기
    image = Image.open(image_path)
    
    # 대괄호 인식
    custom_config = r'--oem 3 --psm 6'
    
    # 이미지에서 텍스트 추출
    text = pytesseract.image_to_string(image, lang='kor+eng',config=custom_config)  # 'kor'는 한국어, 'eng'는 영어 의미
    
    # 추출된 텍스트 출력
    print(text)

    한글인 경우 글씨체에 따라서 인식을 잘 못할 수도 있습니다. 이런건 여러 설정을 해주어야 하는데 그런게 기술이겠죠?

    언어팩 다운로드 하기

    다음 에러가 나올 수 있습니다.

    TesseractError: (1, 'Error opening data file C:\Program Files\Tesseract-OCR/tessdata/chi_tra.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.

    이 얘기는 tesseract에 언어팩이 없다는 얘기입니다.
    이미 tesseract를 설치했기 때문에 언어팩을 어디서 구하는지 막막할 수 있는데 github에 있으니 다운 받으셔서 tesseract가 설치된 폴더에 가면 tessdata 폴더가 있는데 거기에 파일들을 넣으시면 됩니다.

    아래 깃허브 링크에서 언어팩을 받습니다.
    https://github.com/tesseract-ocr/tessdata
    download zip 으로 언어팩을 받아서 tessdata에 파일을 넣습니다.

    마치며

    파이썬에서 pytesseract 설치방법을 알아보았습니다. 윈도우에 tesseract 설치를 해야한다는 걸 미리 알려주면 얼마나 좋을까요?

    댓글

    Designed by JB FACTORY

    ....