Machine readable zone (MRZ) reading SDK for passport, Visa, ID card and travel document.
Project description
Python Extension: MRZ Scanner SDK
The project is a Python-C++ binding of Dynamsoft Label Recognizer. It aims to help developers build Python MRZ scanner apps on Windows and Linux.
License Key
Get a 30-day FREE trial license to activate the SDK.
Supported Python Edition
- Python 3.x
Install Dependencies
pip install mrz opencv-python
Command-line Usage
$ scanmrz <file-name>
Quick Start
import mrzscanner
from mrz.checker.td1 import TD1CodeChecker
from mrz.checker.td2 import TD2CodeChecker
from mrz.checker.td3 import TD3CodeChecker
from mrz.checker.mrva import MRVACodeChecker
from mrz.checker.mrvb import MRVBCodeChecker
def check(lines):
try:
td1_check = TD1CodeChecker(lines)
if bool(td1_check):
return "TD1", td1_check.fields()
except Exception as err:
pass
try:
td2_check = TD2CodeChecker(lines)
if bool(td2_check):
return "TD2", td2_check.fields()
except Exception as err:
pass
try:
td3_check = TD3CodeChecker(lines)
if bool(td3_check):
return "TD3", td3_check.fields()
except Exception as err:
pass
try:
mrva_check = MRVACodeChecker(lines)
if bool(mrva_check):
return "MRVA", mrva_check.fields()
except Exception as err:
pass
try:
mrvb_check = MRVBCodeChecker(lines)
if bool(mrvb_check):
return "MRVB", mrvb_check.fields()
except Exception as err:
pass
return 'No valid MRZ information found'
# set license
mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
# initialize mrz scanner
scanner = mrzscanner.createInstance()
print('')
# decodeFile()
s = ""
results = scanner.decodeFile("images/1.png")
for result in results:
print(result.text)
s += result.text + '\n'
print('')
print(check(s[:-1]))
print('')
Methods
-
mrzscanner.initLicense('YOUR-LICENSE-KEY')
# set the license globallymrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
-
mrzscanner.createInstance()
# create a MRZ scanner instancescanner = mrzscanner.createInstance()
-
decodeFile(filename)
# recognize MRZ from an image fileresults = scanner.decodeFile(<image-file>) for result in results: print(result.text)
-
decodeMat(Mat image)
# recognize MRZ from OpenCV Matimport cv2 image = cv2.imread(<image-file>) results = scanner.decodeMat(image) for result in results: print(result.text)
How to Build the Python MRZ Scanner Extension
-
Create a source distribution:
python setup.py sdist
-
setuptools:
python setup.py build python setup.py develop
-
Build wheel:
pip wheel . --verbose # Or python setup.py bdist_wheel
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mrz-scanner-sdk-1.0.0.tar.gz
(21.4 MB
view hashes)
Built Distributions
Close
Hashes for mrz_scanner_sdk-1.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c88b32b25639edb77aef13e0ce096b8e02b182690025a419fe1b85cfab2345db |
|
MD5 | cace5e8e80e057802207370de3e53c3c |
|
BLAKE2b-256 | cd4ac027b5f5e3fc9372cbc2fc40e60efdb896a7c759ff98272c5e895fa2d084 |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e51ba241eb05557c800d869d823303e59e729eb63476641d87615664f810c04 |
|
MD5 | 6d8bca345d1177d5d2bf5bcfd2462dd1 |
|
BLAKE2b-256 | 1c4196ae0489a46c4558cefde6dfaa38fea271c07ded163b5d3e4d863fbc724c |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e788a611f368a30174b3b2be256469922d5c1831fedca04e3fdea7451e5a00ca |
|
MD5 | e90d0073fb40e7bebd6e842cae2ce1cf |
|
BLAKE2b-256 | 8d3796362f13a98431422fc8c68e852e9de5a9bf3687e112899f24363b7fbed8 |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbb4b51e84a1769b04d9f842561e02c0a6fb2ca145d3e14fd11b43aafbe16774 |
|
MD5 | 04048bd12b4fc648e5c8468adbd8cceb |
|
BLAKE2b-256 | 26f6ba5e99f7b88e81d02aa59572ef5971ad871f208fd1181a7425b6cb49c1dc |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b0c47c90eaa5fe2ddeedde4f7b65d08b71beeb462a580a994c8abd00f840242 |
|
MD5 | ff11d85e7ca2f180044547741ab11599 |
|
BLAKE2b-256 | 1ed43d3ad9fc4b489f730e87e1c53965b0b10bd6e207d51f6774098959bc210a |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e0ca26f52f7c03ac62f340b1199a978aeaa14aad1f451e65efda5cca4ea8b7 |
|
MD5 | 89da8fea644f9de6e568bdff29374bd2 |
|
BLAKE2b-256 | 3a19868cfc6ae14dfcaec1aae7a76702f2b1e95f68dd621d9c1162e616ab3a8b |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62162b4f7ee33763d90ae363be03bb65b685339635f8abc74203fbb76e75f379 |
|
MD5 | a84e390493ca0ad051ed8134ad8f400e |
|
BLAKE2b-256 | 2c61eeef890c126b547663357157c27ce91647e4444264dd4adcdbf4b01984fa |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d6c06c0098314d66378d6394434c52da4ca749cdbdcdf1bbb3a95c7b3961d11 |
|
MD5 | 653f14590420cfff65872ab640d884bc |
|
BLAKE2b-256 | 3720ce06a07058508048cdf08a130168f73192ae0ff395db8952219ef31beccd |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf0a42b7d49b9901fd2a8fb461a39409ce18bd6b655346a1a453edcc1a6225bd |
|
MD5 | 1f686d396ff47914302762d083567b6b |
|
BLAKE2b-256 | 9b73ad34eb583e41cd5ce188959d1a44b4f6b76c0c4a01c4bfbcc8e48cb6fe6a |
Close
Hashes for mrz_scanner_sdk-1.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1345816e0749fc89334831e92f14076dcf2cfac671bc7ff18e64253df321a860 |
|
MD5 | dbe6376550165bda6a26cd870c60c94e |
|
BLAKE2b-256 | 5eb3eb7534ad8c436a06ff1b9fe0fa9e4cf76141dd6a9ea6f2aaaa80194af84e |