dynamsoft-mrz-scanner
Version:
Dynamsoft MRZ Scanner JavaScript Edition is a ready-to-use SDK for web applications that accurately recognizes and parses Machine-Readable Zones on Machine-Readable Travel Documents.
669 lines (661 loc) • 19.5 kB
JSON
{
"CaptureVisionTemplates": [
{
"Name": "ReadPassportAndId",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-passport-and-id"],
"SemanticProcessingNameArray": ["sp-passport-and-id"],
"MaxParallelTasks": 0
},
{
"Name": "ReadPassport",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-passport"],
"SemanticProcessingNameArray": ["sp-passport"],
"MaxParallelTasks": 0
},
{
"Name": "ReadId-TD1",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-id-td1"],
"SemanticProcessingNameArray": ["sp-id-td1"],
"MaxParallelTasks": 0
},
{
"Name": "ReadId-TD2",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-id-td2"],
"SemanticProcessingNameArray": ["sp-id-td2"],
"MaxParallelTasks": 0
},
{
"Name": "ReadId",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-id"],
"SemanticProcessingNameArray": ["sp-id"],
"MaxParallelTasks": 0
},
{
"Name": "ReadPassportAndId-TD1",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-passport-and-id-td1"],
"SemanticProcessingNameArray": ["sp-passport-and-id-td1"],
"MaxParallelTasks": 0
},
{
"Name": "ReadPassportAndId-TD2",
"OutputOriginalImage": 1,
"ImageROIProcessingNameArray": ["roi-passport-and-id-td2"],
"SemanticProcessingNameArray": ["sp-passport-and-id-td2"],
"MaxParallelTasks": 0
}
],
"TargetROIDefOptions": [
{
"Name": "roi-passport-and-id",
"TaskSettingNameArray": ["task-passport-and-id"]
},
{
"Name": "roi-passport-and-id-td1",
"TaskSettingNameArray": ["task-passport-and-id-td1"]
},
{
"Name": "roi-passport-and-id-td2",
"TaskSettingNameArray": ["task-passport-and-id-td2"]
},
{
"Name": "roi-passport",
"TaskSettingNameArray": ["task-passport"]
},
{
"Name": "roi-id-td1",
"TaskSettingNameArray": ["task-id-td1"]
},
{
"Name": "roi-id-td2",
"TaskSettingNameArray": ["task-id-td2"]
},
{
"Name": "roi-id",
"TaskSettingNameArray": ["task-id"]
}
],
"TextLineSpecificationOptions": [
{
"Name": "tls-mrz-passport",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [44, 44],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "(P[A-Z<][A-Z<]{3}[A-Z<]{39}){(44)}",
"StringLengthRange": [44, 44],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z0-9<]{9}[0-9][A-Z<]{3}[0-9]{2}[0-9<]{4}[0-9][MF<][0-9]{2}[(01-12)][(01-31)][0-9][A-Z0-9<]{14}[0-9<][0-9]){(44)}",
"StringLengthRange": [44, 44],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-visa-td3",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [44, 44],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "(V[A-Z<][A-Z<]{3}[A-Z<]{39}){(44)}",
"StringLengthRange": [44, 44],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z0-9<]{9}[0-9][A-Z<]{3}[0-9]{2}[(01-12)][(01-31)][0-9][MF<][0-9]{2}[(01-12)][(01-31)][0-9][A-Z0-9<]{14}[A-Z0-9<]{2}){(44)}",
"StringLengthRange": [44, 44],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-visa-td2",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [36, 36],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "(V[A-Z<][A-Z<]{3}[A-Z<]{31}){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z0-9<]{9}[0-9][A-Z<]{3}[0-9]{2}[(01-12)][(01-31)][0-9][MF<][0-9]{2}[(01-12)][(01-31)][0-9][A-Z0-9<]{8}){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-id-td2",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [36, 36],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "([ACI][A-Z<][A-Z<]{3}[A-Z<]{31}){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z0-9<]{9}[0-9][A-Z<]{3}[0-9]{2}[0-9<]{4}[0-9][MF<][0-9]{2}[(01-12)][(01-31)][0-9][A-Z0-9<]{8}){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-id-td1",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [30, 30],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "([ACI][A-Z<][A-Z<]{3}[A-Z0-9<]{9}[0-9<][A-Z0-9<]{15}){(30)}",
"StringLengthRange": [30, 30],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([0-9]{2}[(01-12)][(01-31)][0-9][MF<][0-9]{2}[0-9<]{4}[0-9][A-Z<]{3}[A-Z0-9<]{11}[0-9]){(30)}",
"StringLengthRange": [30, 30],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z<]{30}){(30)}",
"StringLengthRange": [30, 30],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-FrenchId-td2",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [36, 36],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "(I[A-Z<])(FRA)([A-Z<]{25})([A-Z0-9<]{3})([0-9<]{3}){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z0-9]{12}[0-9][A-Z<]{14}[0-9]{2}[(01-12)][(01-31)][0-9][MF<][0-9]){(36)}",
"StringLengthRange": [36, 36],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-mrz-SuissDL",
"BaseTextLineSpecificationName": "tls-base",
"StringLengthRange": [9, 30],
"OutputResults": 1,
"ExpectedGroupsCount": 1,
"ConcatResults": 1,
"ConcatSeparator": "\n",
"SubGroups": [
{
"StringRegExPattern": "([A-Z0-9]{3}[0-9]{3}[DFIR](<<)){(9)}",
"StringLengthRange": [9, 9],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "(FACHE[0-9]{12}(<<)[0-9]{2}[(01-12)][(01-31)][<]{5}){(30)}",
"StringLengthRange": [30, 30],
"BaseTextLineSpecificationName": "tls-base"
},
{
"StringRegExPattern": "([A-Z<]{30}){(30)}",
"StringLengthRange": [30, 30],
"BaseTextLineSpecificationName": "tls-base"
}
]
},
{
"Name": "tls-base",
"CharacterModelName": "MRZCharRecognition",
"TextLineRecModelName": "MRZTextLineRecognition",
"CharHeightRange": [5, 1000, 1],
"BinarizationModes": [
{
"BlockSizeX": 30,
"BlockSizeY": 30,
"Mode": "BM_LOCAL_BLOCK"
}
],
"ConfusableCharactersCorrection": {
"ConfusableCharacters": [
["0", "O"],
["1", "I"]
],
"FontNameArray": ["OCR_B"]
}
}
],
"LabelRecognizerTaskSettingOptions": [
{
"Name": "task-passport",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": ["tls-mrz-passport", "tls-mrz-visa-td3"],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-id-td1",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": ["tls-mrz-id-td1"],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-id-td2",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": ["tls-mrz-id-td2", "tls-mrz-visa-td2", "tls-mrz-FrenchId-td2"],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-passport-and-id",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": [
"tls-mrz-passport",
"tls-mrz-visa-td3",
"tls-mrz-id-td1",
"tls-mrz-id-td2",
"tls-mrz-visa-td2",
"tls-mrz-FrenchId-td2"
],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-passport-and-id-td1",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": ["tls-mrz-passport", "tls-mrz-visa-td3", "tls-mrz-id-td1"],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-passport-and-id-td2",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": [
"tls-mrz-passport",
"tls-mrz-visa-td3",
"tls-mrz-id-td2",
"tls-mrz-visa-td2",
"tls-mrz-FrenchId-td2"
],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
},
{
"Name": "task-id",
"MaxThreadsInOneTask": 4,
"TextLineSpecificationNameArray": [
"tls-mrz-id-td1",
"tls-mrz-id-td2",
"tls-mrz-visa-td2",
"tls-mrz-FrenchId-td2"
],
"SectionArray": [
{
"Section": "ST_REGION_PREDETECTION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_LOCALIZATION",
"ImageParameterName": "ip-mrz"
},
{
"Section": "ST_TEXT_LINE_RECOGNITION",
"ImageParameterName": "ip-mrz",
"StageArray": [
{
"Stage": "SST_RECOGNIZE_RAW_TEXT_LINES",
"ConfusableCharactersPath": "ConfusableChars.data",
"OverlappingCharactersPath": "OverlappingChars.data",
"EnableRegexForceCorrection": 0
},
{
"Stage": "SST_ASSEMBLE_TEXT_LINES"
}
]
}
]
}
],
"CaptureVisionModelOptions": [
{
"Name": "MRZCharRecognition",
"DirectoryPath": "",
"MaxModelInstances": 4
},
{
"Name": "MRZTextLineRecognition",
"DirectoryPath": "",
"MaxModelInstances": 1
}
],
"ImageParameterOptions": [
{
"Name": "ip-mrz",
"ApplicableStages": [
{
"Stage": "SST_SCALE_IMAGE",
"ImageScaleSetting": {
"ScaleType": "ST_SCALE_DOWN",
"ReferenceEdge": "RE_SHORTER_EDGE",
"EdgeLengthThreshold": 99999
}
},
{
"Stage": "SST_CONVERT_TO_GRAYSCALE",
"ColourConversionModes": [
{
"Mode": "CICM_HSV",
"ReferChannel": "V_CHANNEL"
}
]
},
{
"Stage": "SST_BINARIZE_IMAGE",
"BinarizationModes": [
{
"EnableFillBinaryVacancy": 0,
"Mode": "BM_THRESHOLD"
},
{
"EnableFillBinaryVacancy": 0,
"Mode": "BM_LOCAL_BLOCK",
"BlockSizeX": 0,
"BlockSizeY": 0,
"ThresholdCompensation": 15
}
]
},
{
"Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE",
"BinarizationModes": [
{
"EnableFillBinaryVacancy": 0,
"Mode": "BM_THRESHOLD"
},
{
"EnableFillBinaryVacancy": 0,
"Mode": "BM_LOCAL_BLOCK",
"BlockSizeX": 0,
"BlockSizeY": 0,
"ThresholdCompensation": 15
}
]
},
{
"Stage": "SST_DETECT_TEXTURE",
"TextureDetectionModes": [
{
"Mode": "TDM_GENERAL_WIDTH_CONCENTRATION",
"Sensitivity": 8
}
]
},
{
"Stage": "SST_DETECT_TEXT_ZONES",
"TextDetectionMode": {
"Mode": "TTDM_LINE",
"MaxSpacingInALine": 300,
"CharHeightRange": [5, 1000, 1],
"StringLengthRange": [9, 50],
"Direction": "HORIZONTAL",
"Sensitivity": 7
}
}
]
}
],
"SemanticProcessingOptions": [
{
"Name": "sp-passport-and-id",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-passport-and-id"]
},
"TaskSettingNameArray": ["dcp-passport-and-id"]
},
{
"Name": "sp-passport",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-passport"]
},
"TaskSettingNameArray": ["dcp-passport"]
},
{
"Name": "sp-passport-and-id-td1",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-passport-and-id-td1"]
},
"TaskSettingNameArray": ["dcp-passport-and-id-td1"]
},
{
"Name": "sp-passport-and-id-td2",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-passport-and-id-td2"]
},
"TaskSettingNameArray": ["dcp-passport-and-id-td2"]
},
{
"Name": "sp-id-td1",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-id-td1"]
},
"TaskSettingNameArray": ["dcp-id-td1"]
},
{
"Name": "sp-id-td2",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-id-td2"]
},
"TaskSettingNameArray": ["dcp-id-td2"]
},
{
"Name": "sp-id",
"ReferenceObjectFilter": {
"ReferenceTargetROIDefNameArray": ["roi-id"]
},
"TaskSettingNameArray": ["dcp-id"]
}
],
"CodeParserTaskSettingOptions": [
{
"Name": "dcp-passport-and-id",
"CodeSpecifications": ["MRTD_TD3_PASSPORT", "MRTD_TD2_VISA", "MRTD_TD3_VISA", "MRTD_TD1_ID", "MRTD_TD2_ID"]
},
{
"Name": "dcp-passport",
"CodeSpecifications": ["MRTD_TD3_PASSPORT", "MRTD_TD3_VISA"]
},
{
"Name": "dcp-id-td1",
"CodeSpecifications": ["MRTD_TD1_ID"]
},
{
"Name": "dcp-id-td2",
"CodeSpecifications": ["MRTD_TD2_ID", "MRTD_TD2_VISA"]
},
{
"Name": "dcp-passport-and-id-td1",
"CodeSpecifications": ["MRTD_TD3_PASSPORT", "MRTD_TD3_VISA", "MRTD_TD1_ID"]
},
{
"Name": "dcp-passport-and-id-td2",
"CodeSpecifications": ["MRTD_TD3_PASSPORT", "MRTD_TD3_VISA", "MRTD_TD2_ID", "MRTD_TD2_VISA"]
},
{
"Name": "dcp-id",
"CodeSpecifications": ["MRTD_TD1_ID", "MRTD_TD2_ID", "MRTD_TD2_VISA"]
}
]
}