웹사이트 검색

Tesseract OCR: Ubuntu 16.04에서 설치 및 사용


이 페이지에서

  1. 1 Tesseract 설치
  2. 2 Imagemagick 설치 다음 명령을 실행하여 imagemagick을 설치합니다.\n
  3. 3 테서랙트 사용법
  4. 4 이미지 전처리
    1. 4.1 크기 조정
    2. 4.2 그레이스케일 이미지 사용
    3. 4.3 이미지 이진화\n

    Tesseract는 오늘날 사용 가능한 가장 강력한 오픈 소스 OCR 엔진 중 하나입니다. OCR은 광학 문자 인식을 의미합니다. 이미지에서 텍스트를 추출하는 과정입니다. 예를 들어, 추출해야 하는 일부 텍스트가 있는 다음 이미지를 고려하십시오.

    일부 처리가 완료되면 OCR 엔진의 출력은 다음과 같습니다.

      Open
      Access
      Button
    

    이것이 OCR이 작동하는 방식입니다. 차량 번호판 인식, 스캔한 문서 사본을 단어 형식으로 변환, 영수증에서 세부 정보 자동 추출 등과 같은 많은 응용 프로그램에서 유용합니다. 또한 많은 자연어 처리 작업의 첫 번째 단계를 구성합니다. 이 튜토리얼에서는 Tesseract, imagemagick을 빠르게 설치하고 설정하는 방법과 이를 사용하여 이미지 전처리로 가능한 최상의 결과를 얻는 방법을 살펴봅니다.

    이미지 사전 처리는 Tesseract로 OCR을 수행하는 데 중요한 부분입니다. 이렇게 하면 추출된 텍스트의 정확도가 높아지고 오류가 줄어듭니다. 이를 사용하여 이미지에서 수행할 몇 가지 기본 작업을 살펴보겠습니다. Imagemagick은 자르기, 크기 조정, 색 구성표 변경 등과 같은 작업을 수행하는 데 도움이 되는 이미지 처리 명령줄 기반 도구입니다.

    1 테서랙트 설치

    tesseract를 설치하고 다음 명령을 실행하는 것은 매우 간단합니다.

    sudo apt update sudo apt install tesseract-ocr

    그러면 Tesseract 엔진이 설치됩니다. 아래 이미지는 올바르게 설치된 경우의 출력을 보여줍니다.

    다음으로 할 일은 언어 팩을 설치하는 것입니다. Tesseract는 매우 강력하며 언어 팩을 다운로드하면 100개가 넘는 언어를 추출할 수 있습니다. 아래의 일반 명령을 사용하여 특정 언어 팩을 다운로드할 수 있습니다.

    sudo apt-get install tesseract-ocr-[lang]

    위 명령에서 "[lang]"을 다운로드하려는 언어로 바꿉니다. 영어와 프랑스어의 예는 다음과 같습니다.

    sudo apt-get install tesseract-ocr-eng sudo apt-get install tesseract-ocr-fra

    일반적으로 tesseract는 기본적으로 영어 팩과 함께 제공됩니다. 아래 이미지는 영어가 이미 설치되어 있고 프랑스어를 다운로드하여 설치해야 함을 보여줍니다.

    또는 모든 언어 팩을 다운로드하려면 다음 명령을 실행할 수 있습니다.

    sudo apt-get install tesseract-ocr-all

    이로써 Tesseract 설치가 완료됩니다.

    2 Imagemagick 설치 다음 명령을 실행하여 imagemagick을 설치합니다.

    sudo apt install imagemagick

    이 도구는 convert 명령을 사용하여 명령줄에서 사용됩니다. 올바른 설치를 확인하려면 다음 명령을 실행하십시오. 출력은 아래 이미지와 유사해야 합니다.

    convert -h

    3 테서렉트 사용법

    Tesseract는 jpg, png, tiff 등과 같은 다양한 형식의 이미지를 가져와 텍스트를 추출할 수 있습니다. 이 섹션은 tesseract 실행에 중점을 두고 다음 섹션에서는 정확도를 향상시키는 방법을 살펴보겠습니다. 다음은 tesseract를 실행하는 몇 가지 기본 명령입니다.

    터미널에서 출력을 얻으려면 이미지 경로와 함께 일반 명령을 실행하십시오.

    OCR 출력을 파일에 저장하려면 다음 일반 명령을 실행합니다.

    tesseract [image_path] [file_name]

    다음 두 이미지는 사용된 이미지와 해당 이미지에 대한 위의 명령 실행 출력을 보여줍니다.

    보시다시피 두 번째 명령을 실행하면 출력을 찾을 수 있는 "outfile.txt"라는 파일이 생성됩니다.

    4 이미지 전처리

    이전 출력에서 출력에 오류가 있고 픽셀 크기가 작다는 오류가 있음을 관찰했을 수 있습니다. 이것은 Tesseract의 단점 중 하나이며, OCR을 수행할 수 있는 처리된 이미지를 제공해야 합니다. 이 섹션에서는 imagemagick의 도움으로 이미지 품질을 개선하여 출력의 정확도를 높일 수 있는 몇 가지 전술을 살펴보겠습니다.

    4.1 크기 조정

    크기 조정은 OCR 정확도를 향상시키는 데 가장 유용한 트릭 중 하나입니다. 이것은 대부분의 이미지가 Tesseract에서 제대로 읽을 수 없는 매우 작은 글꼴 크기를 가지고 있기 때문입니다. 다음 명령을 사용하여 이미지 크기를 조정할 수 있습니다. 백분율 금액은 크기 조정 제한을 나타냅니다. 크기를 늘리고 싶기 때문에 100보다 큰 값을 지정해야 합니다. 여기서는 150% 값을 지정했습니다(시행착오 방법을 사용하여 사용 사례에 대한 완벽한 크기 조정 %를 결정).

    convert -resize 150% [input_file_path] [output_file_path]

    위의 명령에서 [input_file_path]를 크기를 조정해야 하는 이미지의 경로로 바꾸고 [output_file_path]를 출력을 저장할 이미지의 경로로 바꿉니다. 다음 이미지는 명령을 실행했을 때의 출력입니다. convert -resize 150% image7.png image7_resize.png

    4.2 그레이 스케일 이미지 사용

    컬러 이미지가 있는 경우 먼저 그레이스케일로 변환하는 것이 좋습니다. 원하는 OCR 정확도를 얻기에 충분할 가능성이 높습니다. 그렇지 않으면 추가 처리를 위해 회색조 이미지를 사용하여 이미지를 이진화할 수 있습니다. 다음 명령을 사용하여 이미지를 회색조로 변환합니다.

    convert [input_file_path] -type Grayscale [output_file_path]

    다음 이미지는 convert image6_resize.png -type Grayscale image6_gray.png 명령을 실행하기 위한 출력을 보여줍니다.

    4.3 이미지 이진화

    이진화 또는 임계값 지정에는 이미지를 흑백 값으로만 변환하는 작업이 포함됩니다. 이 이미지의 각 픽셀에는 검은색 또는 흰색의 두 값 중 하나만 있습니다. 이렇게 하면 이미지의 복잡성이 크게 줄어듭니다. 노이즈가 있는 이미지나 그림자가 있는 이미지 또는 많은 텍스트가 있는 경우 이 전처리 방법을 사용할 수 있습니다. 이 이미지를 이진화하려면 먼저 회색조 이미지가 있는지 확인한 후 다음 명령을 사용하십시오.

    convert [input_file_path] -threshold 55% [output_file_path]

    사용 사례에 대한 최상의 결과를 얻기 위해 임계값 %를 변경할 수 있습니다. 아래 이미지는 예를 보여줍니다. 당면한 이미지의 경우 이진화는 일부 데이터를 잃기 때문에 최선의 선택이 아니라는 점에 유의하는 것이 중요합니다.

    위에서 언급한 전처리 기술 중 일부 또는 전부를 적용하기 전에 다음 사항을 염두에 두어야 합니다.

    • 사용 사례에 따라 전처리 단계 중 하나 또는 조합이 유용합니다.\n
    • 전처리 단계에서 정확도가 떨어지는 경우 전처리 단계에서 무시해야 합니다.\n
    • 크기 조정 또는 임계값 조정 중 백분율은 이미지마다 다르므로 Tesseract가 실행될 때 가장 높은 정확도를 제공하기 위해 가능한 최상의 백분율 값을 얻으려면 시행 착오 방법을 적용해야 합니다.\n

    전처리가 완료되면 처리된 이미지로 Tesseract를 실행하여 정확도를 확인합니다. Tesseract는 매우 강력하지만 입력으로 제공되는 이미지 유형과 관련하여 몇 가지 제한이 있습니다. 이 튜토리얼이 도움이 되었기를 바랍니다.