Passport API


Summary

여권 인식 기능을 사용하기 위한 필수적인 API로 구성되어 있습니다.

Functions List

// 여권 mrz 영역 설정
setMrzArea(Rect rect)
// 인식기 실행
startRecognition(Context context)
// 인식기 종료
stopRecognition(Context context)
// 인식 결과 삭제
clearRecognitionResults()
// 실시간 이미지 추가
submitRequestedFrame(byte[] data)
RecognizerImpl

여권 인식기 기본 생성자

Parameters
# Name Description Type
[in] presenter Presenter를 구현한 Activity context Presenter
Returns

-

Example
Recognizer recognizer = new RecognizerImpl(this);
setMrzArea

가이드 mrz 영역 설정

Parameters
# Name Description Type
[in] rect mrz 영역 Rect
Returns

-

Example
mRecognizer.setMrzArea(rect);
submitRequestedFrame

이미지 큐에 실시간 이미지 추가

Parameters
# Name Description Type
[in] data 실시간 이미지 data[]
Returns

-

Example
mRecognizer.submitRequestedFrame(data);
startRecognition

이미지 큐의 이미지를 인식 (mrz 영역 설정 필요)

Parameters
# Name Description Type
Returns

-

Example
mRecognizer.startRecognition(context);
stopRecognition

인식 종료

Parameters
# Name Description Type
Returns

-

Example
mRecognizer.stopRecognition(context);
clearRecognitionResults

인식 결과 삭제

Parameters
# Name Description Type
Returns

-

Example
mRecognizer.clearRecognitionResults();
getVersion

SDK 버전 확인

Parameters
# Name Description Type
Returns

SDK 의 버전

Example
mRecognizer.getVersion();
isValidLicense

라이선스가 유효한지 여부 판단
SDK 사용 초기에 호출하지 않으면 제한된 날짜까지만 사용제한

Parameters
# Name Description Type
[in] context Application context Context
Returns

라이선스 유효 여부 (true – 유효, false – 만료)

Example
if (!RecognizerImpl.isValidLicense(getApplicationContext())) {
  Toast.makeText(getApplicationContext(), "License expired!", Toast.LENGTH_SHORT).show();
}
getExpiredDate

라이선스 만료일자 출력

Parameters
# Name Description Type
[in] context Application context Context
Returns

라이선스 만료일자

Example
Date date = RecognizerImpl.getExpiredDate(getApplicationContext());

MRZData.h

/*!
  * @class   MRZData
  * @abstract    MRZData 클래스
  * @discussion  여권 인식 결과 클래스(여권 하단 부, 2줄에 대한 인식 결과)
  */
@interface MRZData : NSObject

// Passport MRZ info : https://en.wikipedia.org/wiki/Machine-readable_passport

// Line 1
/*!
  * @@property documentType
  * @brief   'P' : 여권을 뜻함 (line 1, start index 1, len 1)
  */
@property NSString *documentType;       // start 1, len 1
/*!
  * @@property documentSubType
  * @brief   여권의 종류(line 1, start start index 2, len 1)
  */
@property NSString *documentSubType;    // start 2, len 1
/*!
  * @@property countryCode
  * @brief   발행 국가(line 1, start start index 3, len 3)
  */
@property NSString *countryCode;        // start 3, len 3
/*!
  * @@property lastName
  * @brief   전체 이름의 성 부분(line 1, start start index 6, len 39)
  */
@property NSString *lastName;           // start 6, len 39
/*!
  * @@property firstName
  * @brief   전체 이름의 이름 부분(line 1, from lastname after first <<)
  */
@property NSString *firstName;          // from lastname after first <<

// Line 2
/*!
  * @@property passportNumber
  * @brief   여권 번호(line 2, start start index 1, len 9)
  */
@property NSString *passportNumber;     // start 1, len 9   // start 10, len 1 - validating the passportNumber
/*!
  * @@property nationality
  * @brief   국적(line 2, start start index 11, len 3)
  */
@property NSString *nationality;        // start 11, len 3
/*!
  * @@property dateOfBirth
  * @brief   생년월일(line 2, start start index 14, len 6)
  */
@property NSString *dateOfBirth;        // start 14, len 6  // start 20, len 1 - validating the dateOfBirth
/*!
  * @@property sex
  * @brief   생년월일(line 2, start start index 21, len 1)
  */
@property NSString *sex;                // start 21, len 1
/*!
  * @@property expirationDate
  * @brief   기간 만료일(line 2, start start index 22, len 6)
  */
@property NSString *expirationDate;     // start 22, len 6  // start 28, len 1 - validating the expirationDate
/*!
  * @@property personalNumber
  * @brief   개인 번호(line 2, start start index 29, len 14)
  */
@property NSString *personalNumber;     // start 29, len 14 // start 43, len 1 - validating the personalNumber

@end

Functions List

//여권 인식기 객체 생성
(id)getInstance;
//여권 인식기 초기화
(PassportError)initializeWithDelegate:(id)delegate;
//여권 인식기에 전달되는 인식 대상 이미지 내의 관심 영역(ROI) 세팅(실제 인식 영역)
(void)setAreaOfInterest:(CGRect)rect;
// 여권 인식기에 프리뷰 이미지를 전달
(void)addSampleBuffer:(CMSampleBufferRef)sampleBuffer;
//여권 인식기 엔진 해제
(void)finalize;
(id)getInstance

여권 인식기 엔진의 객체를 리턴

Parameters
# Name Description Type
Returns

id 여권 인식기 엔진의 객체

(void)setAreaOfInterest:(CGRect)rect;

여권 인식기에 전달되는 인식 대상 이미지 내의 관심 영역(ROI) 세팅(실제 인식 영역)

Parameters
# Name Description Type
[in] rect mrz 영역 CGRect
Returns

-

(void)addSampleBuffer:(CMSampleBufferRef)sampleBuffer

여권 인식기에 프리뷰 이미지를 전달

Parameters
# Name Description Type
[in] sampleBuffer 인식할 프리뷰 이미지 데이터 CMSampleBufferRef
Returns

-

(void)finalize

여권 인식기 엔진 해제

Parameters
# Name Description Type
Returns

-

(NSString *)getVersion

버전 정보 스트링을 리턴

Parameters
# Name Description Type
Returns

NSString * 버전 정보 스트링

Example
mRecognizer.getVersion();
(NSDateComponents *)getExpiredNSDateComponents

라이선스 만료 날짜를 NSDateComponents 객체로 리턴

Parameters
# Name Description Type
Returns

NSDateComponents 라이선스 만료 날짜