Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Machine readable zone (MRZ) reading SDK for passport, Visa, ID card and travel document.
This project provides a Python-C++ binding for the Dynamsoft Label Recognizer v2.x, allowing developers to build MRZ (Machine Readable Zone) scanner applications on both Windows and Linux platforms using Python.
Note: This project is an unofficial, community-maintained Python wrapper for the Dynamsoft Label Recognizer SDK. For those seeking the most reliable and fully-supported solution, Dynamsoft offers an official Python package. Visit the Dynamsoft Capture Vision Bundle page on PyPI for more details.
pip install dynamsoft-capture-vision-bundle
.Feature | Unofficial Wrapper (Community) | Official Dynamsoft Capture Vision SDK |
---|---|---|
Support | Community-driven, best effort | Official support from Dynamsoft |
Documentation | README only | Comprehensive Online Documentation |
API Coverage | Limited | Full API coverage |
Feature Updates | May lag behind the official SDK | First to receive new features |
Compatibility | Limited testing across environments | Thoroughly tested across all supported environments |
OS Support | Windows, Linux | Windows, Linux, macOS |
Install the required dependencies:
pip install mrz opencv-python
Scan MRZ from an image file:
scanmrz <file-name> -l <license-key>
Scan MRZ from a webcam:
scanmrz <file-name> -u 1 -l <license-key>
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("LICENSE-KEY")
# initialize mrz scanner
scanner = mrzscanner.createInstance()
# load MRZ model
scanner.loadModel(mrzscanner.load_settings())
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('')
mrzscanner.initLicense('YOUR-LICENSE-KEY')
: Initialize the SDK with your license key.
mrzscanner.initLicense("LICENSE-KEY")
mrzscanner.createInstance()
: Create an instance of the MRZ scanner.
scanner = mrzscanner.createInstance()
scanner.loadModel(<model configuration file>)
: Load the MRZ model configuration.
scanner.loadModel(mrzscanner.load_settings())
decodeFile(<image file>)
: Recognize MRZ from an image file.
results = scanner.decodeFile(<image-file>)
for result in results:
print(result.text)
decodeMat(<opencv mat data>)
: Recognize MRZ from an OpenCV Mat.
import cv2
image = cv2.imread(<image-file>)
results = scanner.decodeMat(image)
for result in results:
print(result.text)
addAsyncListener(callback function)
: Register a callback function to receive MRZ recognition results asynchronously.
decodeMatAsync(<opencv mat data>)
: Recognize MRZ from OpenCV Mat asynchronously.
def callback(results):
s = ""
for result in results:
print(result.text)
s += result.text + '\n'
print('')
print(check(s[:-1]))
import cv2
image = cv2.imread(<image-file>)
scanner.addAsyncListener(callback)
for i in range (2):
scanner.decodeMatAsync(image)
sleep(1)
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
FAQs
Machine readable zone (MRZ) reading SDK for passport, Visa, ID card and travel document.
We found that mrz-scanner-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.