메인 콘텐츠로 건너뛰기
ABBYY FineReader Engine는 이미지를 처리할 때, 처리 중인 문서를 나타내는 FRDocument 객체에 이미지를 로드합니다.

이미지 열기

이미지를 문서에 로드하려면 다음 중 하나를 수행합니다. 이 모든 메서드는 매개변수로 PrepareImageMode 객체를 받으며, 이를 통해 이미지 전처리의 다양한 매개변수를 지정할 수 있습니다. 이 객체를 만들려면 IEngine::CreatePrepareImageMode 메서드를 호출하고, 필요에 따라 해당 속성을 변경한 다음 위에서 언급한 메서드 중 하나에 전달합니다. 또한 FRDocument 객체의 AddImageDocument 메서드를 사용하여 기존 ImageDocument 객체(예: 내부 형식 파일에서 로드한 객체)를 추가할 수도 있습니다.

ImageDocument 구조

문서에 로드되면 각 페이지의 이미지는 IFRPage::ImageDocument 속성을 통해 액세스할 수 있습니다. ABBYY FineReader Engine에서 열려 있는 각 이미지는 ImageDocument 객체로 표현됩니다. ImageDocument는 이미지를 소위 “내부 형식”으로 저장하며, 여기에는 Image 객체로 표현되는 4개의 이미지 평면이 포함됩니다.
  • 흑백 평면. 소스 이미지의 흑백 사본입니다.
  • 회색조 평면. 소스 이미지의 회색조 사본입니다. 소스 이미지가 흑백인 경우 이 평면은 흑백 평면과 같습니다.
  • 컬러 평면. 소스 이미지의 컬러 사본입니다. 소스 이미지가 흑백인 경우 이 평면은 흑백 평면과 같고, 회색조인 경우에는 회색조 평면과 같습니다.
  • 미리보기. 사용자 인터페이스에 미리보기 이미지를 표시하는 데 사용하는 작은 컬러 이미지입니다. 미리보기는 GetPreviewImage 또는 GetPreviewImageSpecificSize 메서드를 호출할 때 생성됩니다. 자동이든 수동이든 이미지가 수정되면 생성된 미리보기가 재설정될 수 있으므로 다시 생성해야 합니다.
흑백, 회색조, 컬러 이미지의 크기와 해상도는 동일합니다. 미리보기 이미지는 일반적으로 더 작습니다. 이미지를 여는 동안 이미지 기울어짐이 보정될 수 있습니다. 원본 이미지의 좌표를 열기 후 또는 추가 수정 후의 좌표에 대응시키려면 CoordinatesConverter 객체를 사용합니다. 이 객체는 가져온 시점의 좌표 상태를 저장합니다. 이 객체를 사용하면 이미지 처리의 임의의 두 단계 사이에서 픽셀 좌표를 변환할 수 있습니다. 예를 들면 다음과 같습니다.
  1. 이미지 열기 직후 IImageDocument::CoordinatesConverter 속성을 사용해 이 객체를 가져옵니다. 이때 이미지 기울어짐이 보정됩니다.
  2. 다른 수정 작업이 끝난 후 ImageDocument에서 이 객체의 또 다른 인스턴스를 가져옵니다.
  3. 이제 ConvertCoordinates 메서드를 두 번 적용하여 처음 보정된 이미지 평면과 수정된 이미지 평면 사이에서 픽셀 좌표를 변환할 수 있습니다.
    1. 첫 번째 CoordinatesConverter 인스턴스를 사용해 보정된 이미지 평면에서 원본으로 변환합니다.
    2. 두 번째 CoordinatesConverter 인스턴스를 사용해 결과를 원본 이미지 평면에서 수정된 이미지 평면으로 변환합니다.
같은 메서드를 사용하면 전체 크기 이미지 평면 중 하나의 픽셀 좌표를 미리보기 이미지 평면으로 변환하거나 그 반대로 변환할 수도 있습니다. 흑백, 회색조, 컬러 이미지 평면의 픽셀 좌표는 동일합니다.
자동이든 수동이든 이미지가 수정되면 이전에 생성된 미리보기 이미지 평면이 재설정될 수 있으므로, 해당 미리보기와의 좌표 변환은 수행할 수 없게 됩니다. 좌표를 변환하기 전에 이미지가 수정된 경우 GetPreviewImage 메서드를 다시 호출하십시오.

이미지 수정

자동 전처리 메커니즘은 이미지를 OCR에 적합하게 준비하는 가장 좋은 방법입니다. 프로그램은 이미지의 원본과 문서 유형을 판별하고, 잘못된 방향, 해상도 또는 이미지 기울어짐을 감지하며, 이미지 개선을 위해 이러한 모든 데이터를 고려합니다. 자동 전처리 후에도 결과가 만족스럽지 않은 경우에만 추가 이미지 수정을 수행하는 것이 좋습니다.
이미지를 여는 동안의 수정은 PrepareImageMode 객체로 관리됩니다. 이미지를 연 후에는 다음을 사용하여 수정할 수 있습니다.

이미지 저장

Image 객체의 WriteToFile 메서드를 사용하면 현재 이미지 평면을 지정한 형식의 이미지 파일로 저장할 수 있습니다. ABBYY FineReader Engine은 여러 이미지를 하나의 이미지 파일로 저장하는 기능도 제공합니다. 여러 페이지 이미지 파일을 저장하려면 MultipageImageWriter 객체를 사용합니다.
  1. Engine 객체의 CreateMultipageImageWriter 메서드를 사용하여 MultipageImageWriter 객체를 생성합니다.
  2. MultipageImageWriter 객체의 AddPage 메서드를 사용하여 여러 페이지 이미지 파일의 끝에 이미지를 추가합니다. 각 이미지는 하나의 페이지로 추가됩니다.
  3. 새로 만든 이미지 파일을 사용하려면 먼저 MultipageImageWriter 객체에 대한 모든 참조를 해제해야 합니다.
ImageDocument 객체는 저장 메서드 집합(SaveTo, SaveToFile, SaveToMemory)을 제공하지만, 이러한 메서드는 이미지를 외부 형식으로 저장하는 데 사용할 수 없습니다. 이 메서드들은 ImageDocument 객체의 내용을 ABBYY FineReader Engine 내부 형식으로 저장하며, 이 형식은 어떤 외부 프로그램에서도 볼 수 없습니다.

참고 항목

지원되는 이미지 형식