License Plate Recognition-Server
This solutions stands for ANPR/ALPR(Automatic Number/License Plate Recognition), LPR, vehicle number plate recognition, plate number reader, vehicle scanner, vehicle detection for server SDKs
KBY-AI
's LPR
solutions utilize artificial intelligence and machine learning to greatly surpass legacy solutions. Now, in real-time, users can receive a vehicle's license plate number
.
Automatic license-plate recognition (ALPR)
is a technology that uses OCR(optical character recognition)
on images to read vehicle registration plates
. It can use existing closed-circuit television, road-rule enforcement cameras, or cameras specifically designed for the task. ALPR
can be used by police forces around the world for law enforcement purposes, including to check if a vehicle is registered or licensed. It is also used for electronic toll collection on pay-per-use
roads and as a method of cataloguing the movements of traffic, for example by highways agencies.
Features
License
We offer lifetime license(perpetual license)
based on machine ID
for every server(Windows
, Linux
). The license is available for one-time payment
. In other words, once you purchase license from me, you can use our SDK
permanently.
To request a license, please contact us:
Email: [email protected]
1. Linux
CPU: 2 cores or more (Recommended: 2 cores)
RAM: 4 GB or more (Recommended: 8 GB)
HDD: 4 GB or more (Recommended: 8 GB)
OS: Windows 7 or later
Architecture: x64
2. Windows
CPU: 2 cores or more (Recommended: 2 cores)
RAM: 4 GB or more (Recommended: 8 GB)
HDD: 4 GB or more (Recommended: 8 GB)
OS: Ubuntu 20.04 or later
Architecture: x64
Import SDK
from alprsdk import initSDK, getLicensePlate, getMachineCode, freeLicenseResults, setActivation
Initializing SDK
Obtain the
machine code
to activate and request a license.
machineCode = getMachineCode()
print("\nmachineCode: ", machineCode.decode('utf-8'))
Activate the
SDK
using the license key.
ret = setActivation(license.encode('utf-8'))
print("\nactivation: ", ret)
Initializing
SDK
ret = initSDK()
Once
ret
value is zero,SDK
can get work started.
APIs
1. Getting License Number & Coordinate
The SDK
provides a single API for getting license plate number and its coordinate(x, y, width, height).
The function can be used as follows:
recog_array = (c_int * 1024)() # Assuming a maximum of 256 rectangles
license_plate_ptr = POINTER(c_char_p)()
cnt = getLicensePlate(img_byte, len(img_byte), byref(license_plate_ptr), recog_array)
recog_array
: coordinate(x
,y
,width
,height
).img_byte
: image data in binary format.license_plate_ptr
: pointer to variable with license plate number.
2. Analyzing the result from SDK
SDK
Result values from SDK
inference can be analyzed as follows.
license_plate = [license_plate_ptr[i].decode('utf-8') for i in range(cnt)]
rectangles = [
(recog_array[i * 4], recog_array[i * 4 + 1], recog_array[i * 4 + 2], recog_array[i * 4 + 3])
for i in range(cnt)]
freeLicenseResults(license_plate_ptr, cnt)
print("number: ", cnt, rectangles, license_plate)
cnt
: the number of detected license plate.rectangles
: list ofcoordinate
.license plate
: list oflicense number
.
3. Free Memory
freeLicenseResults(license_plate_ptr, cnt)
Last updated