메인 콘텐츠로 건너뛰기
C# 샘플은 Windows용 FRE에만 적용됩니다.
ABBYY FineReader Engine의 Intelligent Character Recognition(ICR) 기술을 사용하면 손글씨 및 정자체로 쓴 텍스트를 인식할 수 있습니다.
  • 모든 인식 언어가 손글씨 또는 정자체 텍스트 인식을 지원하는 것은 아닙니다. 미리 정의된 언어 목록을 참조하세요.
    • ^ ™ © ® № § ¡ ¿ ‰와 같은 특수 기호는 인식할 수 없습니다.
레이아웃 분석 중에 손글씨 및 정자체 텍스트가 포함된 블록을 찾아 손글씨 텍스트 유형으로 인식하도록 표시할 수 있습니다. 손글씨 또는 정자체 텍스트를 감지하고 인식하려면 PageAnalysisParams 속성의 DetectHandwritten 속성을 TRUE로 설정합니다. 손글씨는 정확한 분석 모드에서만 감지할 수 있으므로 SpeedQualityMode 속성은 SQM_Accurate로 설정합니다. 손글씨와 정자체 텍스트 유형은 동일한 TextTypeEnum::TT_Handwritten 상수로 지정됩니다. 텍스트 블록은 ITextBlock::RecognizerParams 객체의 TextTypes 속성이 TT_Handwritten으로 설정된 상태로 생성됩니다. 인식 중에는 인식 언어가 손글씨 텍스트를 지원하면 손글씨로 인식되고, 정자체 텍스트만 지원하면 정자체 텍스트로 인식됩니다.
// 전역 ABBYY FineReader Engine 객체
FREngine.IEngine engine;
...
// 이미지 파일 열기
...
FREngine.IFRDocument frdoc;
// DocumentProcessingParams를 만들고 매개변수 설정
FREngine.IDocumentProcessingParams processingParams = engine.CreateDocumentProcessingParams();
processingParams.PageProcessingParams.PageAnalysisParams.SpeedQualityMode = SQM_Accurate;
processingParams.PageProcessingParams.PageAnalysisParams.DetectHandwritten = true;
// 일반 텍스트와 손글씨를 모두 인식하도록 텍스트 유형 설정
processingParams.PageProcessingParams.RecognizerParams.TextTypes = TT_Normal | TT_Handwritten;
// 처리에 매개변수 사용
frDoc.Process( processingParams );
...

블록을 수동으로 마크업하기

또는 ITextBlock::RecognizerParams 속성을 통해 손글씨가 포함된 블록의 인식 매개변수를 수동으로 설정할 수 있습니다.
  1. RecognizerParams 객체의 TextTypes 속성을 TT_Handwritten로 설정합니다.
  2. [선택 사항] 정자체 글자는 프레임이나 상자 등에 둘러싸여 있는 경우가 많습니다. 이 경우 RecognizerParams 객체의 FieldMarkingType 속성에서 글자 주변 마킹의 유형을 설정합니다. 각 글자가 별도의 셀에 작성되어 있다면 CellsCount 속성을 사용해 인식할 블록의 문자 셀 수를 설정합니다.
    // 전역 ABBYY FineReader Engine 객체
    FREngine.IEngine engine;
    ...
    // 이미지 파일 열기
    ...
    // 페이지에서 Layout 객체 가져오기
    FREngine.ILayout layout = frPage.Layout;
    // 블록 영역 설정
    FREngine.IRegion region = engine.CreateRegion();
    region.AddRect( 491, 314, 2268, 404 );
    // 새 블록 만들기
    FREngine.IBlock newBlock = layout.Blocks.AddNew( FREngine.BlockTypeEnum.BT_Text, region, 0 );
    FREngine.ITextBlock textBlock = newBlock.GetAsTextBlock();
    // 텍스트 유형 지정
    textBlock.RecognizerParams.TextTypes = (int)FREngine.TextTypeEnum.TT_Handwritten;
    // 글자 주변 마킹 유형 지정
    textBlock.RecognizerParams.FieldMarkingType = FREngine.FieldMarkingTypeEnum.FMT_SimpleText;
    // 인식 및 내보내기
    ...
    

    참고 항목

    RecognizerParams 미리 정의된 언어 목록