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, setActivationInitializing SDK
Obtain the
machine codeto activate and request a license.
machineCode = getMachineCode()
print("\nmachineCode: ", machineCode.decode('utf-8')) Activate the
SDKusing the license key.
ret = setActivation(license.encode('utf-8'))
print("\nactivation: ", ret)Initializing
SDK
ret = initSDK()Once
retvalue is zero,SDKcan 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
SDKResult 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