많은 국가의 공식 여행 문서 또는 신분증에는 문서 데이터를 더욱 정확하게 처리할 수 있도록 기계 판독 영역(MRZ)이 포함되어 있습니다. MRZ는 ICAO Document 9303에 따라 작성된 OCR-B 글꼴 텍스트 2줄 또는 3줄로 구성됩니다(자세한 사양은 ICAO 웹사이트 참조). 이 시나리오는 고객 온보딩 또는 신원 확인 프로세스에서 신분증의 기계 판독 영역으로부터 데이터를 추출하는 데 사용됩니다. 시스템은 문서 이미지에서 MRZ를 인식하고 그 안의 데이터를 추출합니다. 추출된 데이터에는 문서와 소지자에 대한 개인정보가 포함된 여러 field가 들어 있습니다(문서 유형, 만료일, 문서 소지자의 이름과 성 등). fields를 검색하고, 데이터를 검증한 다음, 후속 처리를 위해 외부 파일에 저장할 수 있습니다. MRZ에서 데이터를 추출하기 위해 일반적으로 스캔하거나 전자 형식으로 저장한 이미지 파일은 여러 처리 단계를 거치며, 각 단계마다 고유한 특성이 있습니다:Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
- 스캔한 이미지 또는 사진 전처리
- MRZ에서 데이터 추출
- 외부 파일로 내보내기
시나리오 구현
이 항목에 제공된 코드 샘플은 Windows 전용입니다.
1단계. ABBYY FineReader Engine 불러오기
1단계. ABBYY FineReader Engine 불러오기
ABBYY FineReader Engine 사용을 시작하려면 Engine 객체를 생성해야 합니다. Engine 객체는 ABBYY FineReader Engine 객체 계층 구조의 최상위 객체로, 다양한 전역 설정과 일부 처리 메서드, 그리고 다른 객체를 생성하는 메서드를 제공합니다.Engine 객체를 생성하려면 InitializeEngine 함수를 사용할 수 있습니다. Engine 객체를 불러오는 다른 방법 (Win)도 참조하세요.
C#
2단계. 시나리오용 설정 불러오기
2단계. 시나리오용 설정 불러오기
이 시나리오에 적합한 처리 설정은 Engine 객체의 LoadPredefinedProfile 메서드를 사용해 불러올 수 있습니다. 이 메서드는 설정 프로필 이름을 입력 Parameter로 사용합니다. 자세한 내용은 프로필 사용를 참조하세요.이 시나리오에 대한 설정은 MachineReadableZone 사전 정의 프로필에서 사용할 수 있습니다:처리 설정을 변경하려면 적절한 Parameter 객체를 사용하세요. 자세한 내용은 아래의 Additional optimization for specific tasks를 참조하세요.MRZ 캡처는 ABBYY FineReader Engine 라이선스가 MRZCapture 모듈을 지원하는 경우에만 가능합니다.
- 이미지의 모든 텍스트를 감지하고 추출할 수 있습니다(그림, 벡터 그래픽, 표는 감지되지 않음).
- 해상도 및 기하학적 보정이 자동으로 수행됩니다.
C#
3단계. 문서 이미지 불러오기 및 전처리
3단계. 문서 이미지 불러오기 및 전처리
FineReader Engine에 이미지를 불러오려면 다음 객체의 메서드를 사용할 수 있습니다:FRDocument 객체에 이미지를 불러오려면 다음 중 하나를 수행하세요:
- FRDocument
- Linux 및 Windows용 BatchProcessor
Linux 및 Windows 사용자는 Parallel Processing with ABBYY FineReader Engine에서 각 접근 방식의 장단점을 확인할 수 있습니다. 이 항목에서는 FRDocument에 중점을 둡니다.
- FRDocument 객체를 만들 때 Engine 객체의 CreateFRDocumentFromImage 메서드를 사용합니다.
- 생성된 FRDocument 객체에 파일에서 이미지를 추가합니다(AddImageFile, AddImageFileWithPassword 또는 AddImageFileWithPasswordCallback 메서드 사용).
C#
4단계. MRZ에서 데이터 추출
4단계. MRZ에서 데이터 추출
MRZ에서 데이터를 추출하려면 다음 단계를 따르세요.
- [선택 사항] Engine 객체의 CreateMrzProcessingParams 메서드를 사용하여 MrzProcessingParams 객체를 생성합니다. 그런 다음 필요한 값으로 해당 속성을 설정합니다.
- FRPage 객체의 ExtractMrz 메서드를 호출하면서, 이전 단계에서 구성한 MrzProcessingParams 객체를 입력 Parameter로 전달합니다. 기본 MRZ 캡처 설정을 사용하려면 NULL만 전달하면 됩니다. 그러면 캡처된 MRZ에서 구문 분석한 정보가 포함된 MrzData 객체가 반환됩니다.
C#
5단계. 추출된 데이터 활용
5단계. 추출된 데이터 활용
MrzData 객체에는 MRZ에서 추출한 모든 데이터가 들어 있습니다. GetLine 메서드를 사용해 기계 판독 텍스트의 각 줄에 액세스할 수 있으며, GetField 및 GetFieldByType 메서드를 사용해 field를 순회할 수 있습니다. 다음 유형의 field가 추출됩니다.
- 문서 유형
- 문서 하위 유형
- 발행 국가
- 성
- 이름
- 문서 번호
- 국적
- 생년월일
- 성별
- 만료일
- 개인 번호
- 추가 데이터 줄 1
- 추가 데이터 줄 2
C#
6단계. 추출된 데이터 내보내기
6단계. 추출된 데이터 내보내기
추출된 데이터는 XML 또는 JSON 파일에 저장할 수 있습니다. 기본 매개변수로 데이터를 내보내려면 MrzData 객체의 ExportToFile 메서드를 호출하고 파일 경로를 입력 매개변수로 전달합니다. 사용자 지정 매개변수로 데이터를 내보내려면 MrzData 객체의 ExportToFileEx 메서드를 호출하고 MrzJsonExportParams 객체 또는 MrzXmlExportParams 객체에 대한 포인터를 입력 매개변수로 전달합니다.C#
7단계. ABBYY FineReader Engine 언로드
7단계. ABBYY FineReader Engine 언로드
ABBYY FineReader Engine 사용을 마친 후에는 Engine 객체를 언로드해야 합니다. 이렇게 하려면 내보낸 DeinitializeEngine 함수를 사용합니다.
C#
필수 리소스
추가 최적화
- 엔진 로드
- Engine 객체를 로드하는 다양한 방법 Windows용
Engine 객체를 로드하는 여러 방법을 자세히 설명합니다. - 멀티스레드 서버 애플리케이션에서 ABBYY FineReader Engine 사용 Windows용
서버 애플리케이션에서 FineReader Engine을 사용할 때의 주요 특징을 설명합니다. - 프로필 사용
미리 정의된 프로필과 사용자 프로필을 자세히 설명합니다.
- Engine 객체를 로드하는 다양한 방법 Windows용
- 인식
- 전처리, 분석, 인식 및 합성 매개변수 조정
전처리, 분석, 인식 및 합성 매개변수 객체를 사용해 문서 처리를 사용자 지정하는 방법을 설명합니다.
- 전처리, 분석, 인식 및 합성 매개변수 조정
- 추출된 데이터 작업
- 기계 판독 영역 field
ABBYY FineReader Engine 12를 사용해 기계 판독 영역에서 추출할 수 있는 field 목록과 각 field에 대한 간단한 설명입니다. - Text 작업
인식된 텍스트, 문단, 단어 및 문자로 작업하는 방법을 설명합니다. - Voting API 사용
단어 및 문자 인식 대안으로 작업하는 방법을 설명합니다.
- 기계 판독 영역 field
