Handle of LPREngine object
Used to handle pointer (void *) to LPREngine object
Handle of LPRParams object
Used to handle pointer (void *) to LPRParams object
Handle of LPRResult object
Used to handle pointer (void *) to LPRResult object
Handle of LicensePlate object
Used to handle pointer (void *) to LicensePlate object
Invokes by LPREngine object on license plate detection
hEngine | Handle of LPREngine object |
hPlate | Handle of LicensePlate object |
LicensePlate object must be deleted using function LicensePlate_Destroy
Invokes by LPREngine object on the video frame processing completion event
hEngine | Handle of LPREngine object |
customData | custom 64-bit data that was sent as a parameter to the LPREngine_PutFrame or LPREngine_PutFrameImageBuffer functions |
status | integer value containing the status of the processed video frame |
The possible values of the status:
0 | the video processed successfully |
1 | the video frame dropped due to lack of resources |
2 | the video frame dropped due to defined FPS limit. See LPRParams_get_FPSLimit |
Do NOT use long time operations inside this callback, it may block and slow down the video processing.
Creates a new instance of the LPR engine
hParams | Handle of LPRParams object |
bVideo bool | If this value is true, the engine will be initialized in video mode, otherwise - in still image mode |
plateDetectedCallback | LicensePlateDetectedCallback function (for video mode), use Null for still image mode |
Handle of LPREngine object
Sets the FrameProcessingCompletedCallback function
hEngine | Handle of LPREngine object |
callback | FrameProcessingCompletedCallback function (for video mode only) |
Default value is Null
This callback can be used to count the number of video frames that were dropped during video processing.
Reads license plates from an image file (JPEG, BMP, PNG)
hEngine | Handle of LPREngine object |
fileName const char* | Path to image file |
Handle of LPRResult object
LPRResult object must be deleted using function LPRResult_Destroy.
This function can be used for still image mode only.
Read license plates from image file (JPEG, BMP, PNG) contained in the memory
hEngine | Handle of LPREngine object |
pBuffer void* | Pointer to a memory buffer containing the image file data |
bufferSize int | size of memory buffer in bytes |
Handle of LPRResult object
LPRResult object must be deleted using function LPRResult_Destroy.
This function can be used for still image mode only.
Read license plates from image file (JPEG, BMP, PNG) from HTTP url
hEngine | Handle of LPREngine object |
url const char* | URL string, example: http://domain.com/image.jpg |
Handle of LPRResult object
LPRResult object must be deleted using function LPRResult_Destroy.
This function can be used for still image mode only.
Read license plates from image buffer
hEngine | Handle of LPREngine object |
pBuffer void* | Pointer to buffer of image pixels data |
width int | Width of image in pixels |
height int | Height of image in pixels |
stride int | Size of one image row in bytes |
pixelFormat | Pixel format, PIXFMT enumeration |
Handle of LPRResult object
LPRResult object must be deleted using function LPRResult_Destroy.
This function can be used for still image mode only.
Send video frame to engine (for video mode only)
hEngine | Handle of LPREngine object |
hFrame | Handle of VideoFrame object |
customData int64 | Custom 64 bit integer value which can be used identify frame by recognized plate. This value will be assigned to LicensePlate object. |
Possible values:
0 | no error |
1 | engine do not have valid license |
2 | engine have valid license but have not available channel to work |
3 | frame dropped due to processing queue overflow |
ATTENTION: this function will delete the hFrame object after processing this frame, so you DO NOT need to delete the hFrame object after calling this function.
Send video frame to engine (for video mode only)
hEngine | Handle of LPREngine object |
pBuffer void* | Pointer to buffer of image pixels data |
width int | Width of image in pixels |
height int | Height of image in pixels |
stride int | Size of one image row in bytes |
pixelFormat | Pixel format, PIXFMT enumeration |
timestamp int64 | Frame timestamp received from camera (optional). If you have not this value, then use -1 |
customData int64 | Custom 64 bit integer value which can be used identify frame by recognized plate. This value will be assigned to LicensePlate object. |
Possible values:
0 | no error |
1 | engine do not have valid license |
2 | engine have valid license but have not available channel to work |
3 | frame dropped due to processing queue overflow |
Return current processing FPS (for video mode only)
hEngine | Handle of LPREngine object |
Current video processing FPS. It can be less then incoming FPS from camera.
This function can be used for video mode only.
Gets the value indicating whether the LPR engine has processed all frames in queue and the queue is empty.
hEngine | Handle of LPREngine object |
Boolean value, True | frame processing queue is empty, False - frame processing queue is not empty. |
This property can be used to wait for the LPR Engine to finish its work and process all frames sent using LPREngine_PutFrame or LPREngine_PutFrameImageBuffer functions.
This function can be used for video mode only.
Check if LPR engine is licensed
hEngine | Handle of LPREngine object |
Returns value 0 in case the engine have valid license
Returns value 1 in case the engine do not have valid license
Returns value 2 in case the engine have valid license, but have not available channel to work
Returns value 3 in case the engine cannot validate trial license (for trial version only)
Return list of supported countries
buffer char* | Pointer to string buffer which receives semi-colon delimited list of countries |
buff_size int | Size of string buffer |
Number of bytes copied to buffer. If buffer = NULL or buff_size = 0, then function return number of bytes required to store the result string
The semi-colon delimited list returned in following format: <country code 1>|<country name 1>;<country code 2>|<country name 2>;....
Example: LV|Latvia;LT|Lithuania;EE|Estonia;.....
Country codes are 2 character code by ISO 3166-1 standard
Return library version
buffer char* | Pointer to string buffer which receives library version |
buff_size int | Size of string buffer |
Number of bytes copied to buffer. If buffer = NULL or buff_size = 0, then function return number of bytes required to store the result string
Create LPRParams object
Handle of new LPRParams object
Gets the minimum plate width
hParams | Handle of LPRParams object |
Minimum plate width in pixels
The minimum/maximum plate width parameters are used to tell the engine the expected size of the license plates on image.
Defining a narrower interval increases recognition speed and decreases CPU resources, but negatively affects recognition accuracy.
The recommended values for min/max plate width are -/+30% of real plate width. For example, if we have plate 200 pixels in width, then you can define values 140/260.
If the recognition accuracy is not enough, you can try to decrease minimum plate width to get better results.
Default value is 80. Minimum value is 60. Maximum value is 1000.
Sets the minimum width of the plate
hParams | Handle of LPRParams object |
minPlateWidth int | Minimum plate width in pixels |
The minimum/maximum plate width parameters are used to tell the engine the expected size of the license plates on image.
Defining a narrower interval increases recognition speed and decreases CPU resources, but negatively affects recognition accuracy.
The recommended values for min/max plate width are -/+30% of real plate width. For example, if we have plate 200 pixels in width, then you can define values 140/260.
If the recognition accuracy is not enough, you can try to decrease minimum plate width to get better results.
Default value is 80. Minimum value is 60. Maximum value is 1000.
Gets the maximum plate width
hParams | Handle of LPRParams object |
Maximum plate width in pixels
The minimum/maximum plate width parameters are used to tell the engine the expected size of the license plates on image.
Defining a narrower interval increases recognition speed and decreases CPU resources, but negatively affects recognition accuracy.
The recommended values for min/max plate width are -/+30% of real plate width. For example, if we have plate with 200 pixels in width, then you can define values 140/260.
If the recognition accuracy is not enough, you can try to decrease minimum plate width to get better results.
Default value is 300. Minimum value is 100.
Sets the maximum width plate
hParams | Handle of LPRParams object |
maxPlateWidth int | Maximum plate width in pixels |
The minimum/maximum plate width parameters are used to tell the engine the expected size of the license plates on image.
Defining a narrower interval increases recognition speed and decreases CPU resources, but negatively affects recognition accuracy.
The recommended values for min/max plate width are -/+30% of real plate width. For example, if we have plate with 200 pixels in width, then you can define values 140/260.
If the recognition accuracy is not enough, you can try to decrease minimum plate width to get better results.
Default value is 300. Minimum value is 100.
Gets the list of countries defined for recognition
hParams | Handle of LPRParams object |
buffer char* | Pointer to buffer which receive comma delimited string of countries list |
buff_size int | Size of buffer in bytes |
Number of bytes copied to buffer. If buffer = NULL or buff_size = 0, then function return number of bytes required for store result string
Comma-separated country codes defined in ISO 3166-1.
The empty value means that the country will be detected automatically.
Also the following continents codes (in brackets) can be defined in this list.
(EU) | Europe |
(NA) | North America |
(SA) | South America |
(AF) | Africa |
(AS) | Asia |
Example: FR,DE,ES,IT,(AS)
Define countries list for recognition
hParams | Handle of LPRParams object |
countries const char* | Comma delimited string of countries list |
Comma-separated country codes defined in ISO 3166-1.
The empty value means that the country will be detected automatically.
Also the following continents codes (in brackets) can be defined in this list.
(EU) | Europe |
(NA) | North America |
(SA) | South America |
(AF) | Africa |
(AS) | Asia |
Example: FR,DE,ES,IT,(AS)
Gets the value indicating whether the LPR engine will format plate text according to specific format.
hParams | Handle of LPRParams object |
Boolean value
Default value is True.
If this parameter is set to True, then the plate text will be formatted according to detected format and may be supplemented by extra symbols like 'dash', 'space' or 'dot'.
For example: Latvian plate "AB1234" will be formated as "AB-1234", German plate "GIKM345" will be formated as "GI KM345"
Sets the value indicating whether the LPR engine will format plate text according to specific format.
hParams- Handle of LPRParams object val - Boolean value
Default value is False.
If this parameter is set to True, then the plate text will be formatted according to detected format and may be supplemented by extra symbols like 'dash', 'space' or 'dot'.
For example: Latvian plate "AB1234" will be formated as "AB-1234", German plate "GIKM345" will be formated as "GI KM345"
Gets the number of recognition threads used by LPR engine
hParams | Handle of LPRParams object |
Number of threads
Default value is 4.
This property used for video mode only
Sets the number of recognition threads used by LPR engine
hParams | Handle of LPRParams object |
numThreads int | Number of threads |
Default value is 4.
This property used for video mode only.
Gets the maximum FPS which LPR engine will process
hParams | Handle of LPRParams object |
Number of frames per second (FPS)
Default value is 0 (unlimited).
If the defined FPS limit is reached, then LPR Engine drop incoming frames.
This property used for video mode only.
Sets the maximum FPS which LPR engine will process
hParams | Handle of LPRParams object |
fps int | number of frames per second (FPS) |
Default value is 0 (unlimited).
If the defined FPS limit is reached, then LPR Engine drop incoming frames.
This property used for video mode only.
Gets the minimum delay between duplicated results
hParams | Handle of LPRParams object |
Number of milliseconds
Default value is 5000 (5 sec).
This property used for video mode only.
Sets the minimum delay between duplicated results
hParams | Handle of LPRParams object |
delay int | Number of milliseconds |
Default value is 5000 (5 sec).
This property used for video mode only.
Gets the minimum number of confirmations of the same plate to return the result
hParams | Handle of LPRParams object |
Number of confirmations
Default value is 3, minimum value 2.
This property used for video mode only.
Sets the minimum number of confirmations of the same plate to return the result
hParams | Handle of LPRParams object |
numConf int | Number of confirmations |
Default value is 3, minimum value 2.
This property used for video mode only.
Gets the value indicating whether the LPR engine will process only zones of the moving objects
hParams | Handle of LPRParams object |
Boolean value, True | do recognition moving object only, False - process full frames always |
Default value is False.
This property used for video mode only.
Sets the value indicating whether the LPR engine will process only zones of the moving objects
hParams- Handle of LPRParams object recOnMotion - Boolean value, True - do recognition of moving object only, False - process full frames
Default value is True.
This property used for video mode only.
Gets the rotation angle of the image in degrees
hParams | Handle of LPRParams object |
Rotation angle in degrees. Possible values from 0 to 359. Value 0 | do not rotate image. |
Default value is 0.
The input image will be rotated counterclockwise direction at defined angle (in degrees) before processing.
Sets the rotation angle of the image in degrees
hParams | Handle of LPRParams object |
rotateAngle int | Rotation angle in degrees (0..359). Value 0 - do not rotate image. |
Default value is 0.
The input image will be rotated counterclockwise direction at defined angle (in degrees) before processing.
Gets the format string to draw on result image
hParams | Handle of LPRParams object |
format char* | Pointer to string buffer to receive format string |
format_size int | Size of string buffer |
Number of bytes copied to buffer. If format = NULL or format_size = 0, then function return number of bytes required to store the result string
Sets the format string to draw on result image
hParams | Handle of LPRParams object |
format const char* | Format string, available variables: %DATETIME%, "%PLATE_NUM%", %COUNTRY%" |
Gets the position in the image to draw format string
hParams | Handle of LPRParams object |
Position on result image.
0 | Burn format string in Left-Top corner on result image |
1 | Burn format string in Right-Top corner on result image |
2 | Burn format string in Left-Bottom corner on result image |
3 | Burn format string in Right-Bottom corner on result image |
This property used for video mode only
Sets the position in the image to draw format string
hParams | Handle of LPRParams object |
position int | Position on result image |
0 | Burn format string in Left-Top corner on result image |
1 | Burn format string in Right-Top corner on result image |
2 | Burn format string in Left-Bottom corner on result image |
3 | Burn format string in Right-Bottom corner on result image |
This property used for video mode only
Gets a value indicating whether the engine will draw the bounding box of the detected license plate.
hParams | Handle of LPRParams object |
Boolean value
This property used for video mode only
Sets a value indicating whether the engine will draw the bounding box of the detected license plate.
hParams | Handle of LPRParams object |
val bool | Boolean value |
This property used for video mode only
Gets the color value that will be used to draw a bounding box around the detected license plate.
hParams | Handle of LPRParams object |
An integer value containing the RGB value (see notes)
Convert RGB to color integer value:
color = ((r << 16) | (g << 8) | b);
Convert color interger value to RGB:
int r = (color >> 16) & 255;
int g = (color >> 8) & 255;
int b = color & 255;
This property used for video mode only
Gets a value indicating whether the engine will draw the bounding box of the detected license plate.
hParams | Handle of LPRParams object |
color int | An integer value containing the RGB value (see notes) |
Convert RGB to color integer value:
color = ((r << 16) | (g << 8) | b);
Convert color interger value to RGB:
int r = (val >> 16) & 255;
int g = (val >> 8) & 255;
int b = val & 255;
This property used for video mode only
Gets eXtra non-documented options, which can enable some custom feature
hParams | Handle of LPRParams object |
optionName const char* | Option name |
val char** | Pointer to string buffer to receive option value |
val_size int | Size of string buffer |
Sets eXtra non-documented options, which can enable some custom feature
hParams | Handle of LPRParams object |
optionName const char* | Option name |
val const char* | String value of option |
Gets the number of recognition zones
hParams | Handle of LPRParams object |
Number of recognition zones
Add new recognition zone
hParams | Handle of LPRParams object |
Index of new recognition zone
Remove recognition zone by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
Value 0 if recognition zone has been deleted successfully, otherwise -1
Zone index is zero-based
Gets the number of polygon points that make up the zone
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
Number of polygon points of recognition zone, -1 if no zone found by index
Zone index is zero-based
Gets the coordinates of polygon point by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Zone index |
x int* | X - coordinate |
y int* | Y - coordinate |
Value 0 on success, otherwise -1
Zone index and Point index are zero-based
Sets the coordinates of polygon point by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Zone index |
x int | X - coordinate |
y int | Y - coordinate |
Value 0 on success, otherwise -1
Zone index and Point index are zero-based
Add new polygon point for recognition zone
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
x int | X - coordinate |
y int | Y - coordinate |
Zero-based index of new point on success, otherwise -1
Zone index is zero-based
Remove polygon point of recognition zone by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Point index |
Value 0 on success, otherwise -1
Zone index and Point index are zero-based
Gets the number of polygon points (with relative coordinates) that make up the zone
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
Number of polygon points of recognition zone, -1 if no zone found by index
Zone index is zero-based
Gets relative coordinates of polygon point by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Zone index |
x float* | X relative coordinate (floating value from 0 to 1) |
y float* | Y relative coordinate (floating value from 0 to 1) |
Value 0 on success, otherwise -1
Example: image 640 x 480 pixels, relative coordinates (0.1, 0.2) means (64, 96) in pixels for our image resolution.
Using relative coordinates, you can easily change the resolution and image size without updating the coordinates of the zones.
Zone index and Point index are zero-based
Sets relative coordinates of polygon point by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Zone index |
x float | X relative coordinate (floating value from 0 to 1) |
y float | Y relative coordinate (floating value from 0 to 1) |
Value 0 on success, otherwise -1
Example: image 640 x 480 pixels, relative coordinates (0.1, 0.2) means (64, 96) in pixels for our image resolution.
Using relative coordinates, you can easily change the resolution and image size without updating the coordinates of the zones.
Zone index and Point index are zero-based
Add new polygon point (with relative coordinates) for recognition zone
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
x float | X relative coordinate (floating value from 0 to 1) |
y float | Y relative coordinate (floating value from 0 to 1) |
Zero-based index of new point on success, otherwise -1
Example: image 640 x 480 pixels, relative coordinates (0.1, 0.2) means (64, 96) in pixels for our image resolution.
Using relative coordinates, you can easily change the resolution and image size without updating the coordinates of the zones.
Zone index is zero-based
Remove polygon point (with relative coordinates) of recognition zone by it's index
hParams | Handle of LPRParams object |
zoneIndex int | Zone index |
pointIndex int | Point index |
Value 0 on success, otherwise -1
Zone index and Point index are zero-based
Destroy LPRResult object
hResult | Handle of LPRResult object |
There is not possibility to create LPRResult object, the LPR engine only can create this object, you need to destroy it when you do not need it anymore.
Gets the number of LicensePlate objects containing in LPRResult object
hResult | Handle of LPRResult object |
Number of LicensePlate objects
Gets the LicensePlate object from LPRResult by it's index
hResult | Handle of LPRResult object |
plateIndex int | Index of LicensePlate object |
Handle of LicensePlate object
Each LicensePlate object from LPRResult must be destroyed using LicensePlate_Destroy function
Gets the image processing time (in milliseconds) without image file reading from disk and image decoding.
hResult | Handle of LPRResult object |
time in milliseconds
Gets error code
hResult | Handle of LPRResult object |
Possible values:
0 | no error |
1 | engine do not have valid license |
2 | engine have valid license but have not available channel to work |
Destroy LicensePlate object
hPlate | Handle of LicensePlate object |
There is not possibility to create LicensePlate object, the LPR engine only can create this object, you need to destroy it when you do not need it anymore.
Gets the license plate text
hPlate | Handle of LicensePlate object |
text char* | Pointer to string buffer which receives recognized plate text |
size int | Size of string buffer |
Number of bytes copied to string buffer. If text = NULL or size = 0, then function return required number of bytes required to store the result string
Gets the country code of the recognized license plate
hPlate | Handle of LicensePlate object |
countryCode char* | Pointer to string buffer which receives country code (ISO 3166-1) of recognized license plate |
size int | Size of string buffer |
Number of bytes copied to string buffer. If countryCode = NULL or size = 0, then function return required number of bytes required to store the result string
The countryCode buffer must be minimum 3 bytes in size to store 2 symbol code and null-terminator character.
Gets the state of the recognized license plate
hPlate | Handle of LicensePlate object |
state char* | Pointer to string buffer which receives state code of recognized license plate |
size int | Size of string buffer |
Number of bytes copied to string buffer. If state = NULL or size = 0, then function return required number of bytes required to store the result string
This is an optional value that can be used for specific countries where state detection is implemented, such as the United States.
The state buffer must be minimum 3 bytes in size to store 2 symbol code and null-terminator character.
Gets the type of the license plate
hPlate | Handle of LicensePlate object |
One of PLATE_TYPE enumeration values
Gets the number of text rows on license plate
hPlate | Handle of LicensePlate object |
Number of text rows on license plate.
Value 1 means single row plate, 2 means two-rows plate.
Gets the X coordinate of the license plate bounding rectangle
hPlate | Handle of LicensePlate object |
X coordinate in pixels
Gets the Y coordinate of license plate bounding rectangle
hPlate | Handle of LicensePlate object |
Y coordinate in pixels
Gets the width of license plate bounding rectangle
hPlate | Handle of LicensePlate object |
Width in pixels
Gets the width of the license plate bounding rectangle
hPlate | Handle of LicensePlate object |
Width in pixels
Gets the number of the license plate symbols
hPlate | Handle of LicensePlate object |
Number of symbols
Gets the X coordinate of the symbol in pixels
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
X coordinate in pixels
Gets the Y coordinate of the symbol in pixels
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Y coordinate in pixels
Gets the width of the symbol in pixels
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Width in pixels
Gets the height of the symbol in pixels
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Height in pixels
Gets the character of the license plate symbol
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Character of symbol
Gets the recognition confidence of the license plate symbol
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Number of percentage from 1 to 100
Gets the row number of the license plate symbol
hPlate | Handle of LicensePlate object |
index int | index of symbol (zero-based) |
Row number of the symbol
This value can be used to determine if a symbol is part of the first or second row of symbols for 2-row plates.
Possible values: 1 (first row) and 2 (second row).
Gets the recognition confidence of the license plate
hPlate | Handle of LicensePlate object |
Number of percentage from 1 to 100
Gets the index of the recognition zone to which the license plate belongs
hPlate | Handle of LicensePlate object |
Index of recognition zone
The index is one-based. If the index is 0, it means that the zones are not defined and the plate is found on the whole image.
Gets the direction of movement of the license plate on image in 2D space
hPlate | Handle of LicensePlate object |
Direction in degrees from 0..360 or -1
Value -1 means that the plate do not move
90 | top to bottom direction |
270 | bottom to top direction |
360 | left to right direction |
180 | right to left direction |
This property used for video mode only
Gets the direction of movement of the license plate relative to the position of the camera.
hPlate | Handle of LicensePlate object |
Moving direction, <MOVING_DIRECTION> enumeration value
This property used for video mode only
Gets the timestamp of the video frame in which the license plate is recognized.
hPlate | Handle of LicensePlate object |
timestamp in milliseconds
This property used for video mode only
Gets the timestamp of the video frame passed to LPREngine_PutFrame or LPREngine_PutFrameImageBuffer functions
hPlate | Handle of LicensePlate object |
timestamp in milliseconds
This property used for video mode only
Gets the date/time string with milliseconds of the video frame in which the license plate is recognized.
hPlate | Handle of LicensePlate object |
buffer char* | Pointer to string buffer which will receive date/time string |
bufferSize int | Size of the string buffer in bytes |
Number of bytes copied to buffer. If buffer = NULL or bufferSize = 0, then function return required number of bytes required to store the result string
Returns data/time string of the video frame in format "yyyy-dd-mm hh:mm:ss.fff"
This property used for video mode only
Gets the license plate unique id
hPlate | Handle of LicensePlate object |
Unique id of the license plate
Can be used to identify previously recognized plate and update the result.
This property used for video mode only
Gets custom 64-bit data that was sent as a parameter to the LPREngine_PutFrame or LPREngine_PutFrameImageBuffer functions
hPlate | Handle of LicensePlate object |
64 bit integer value
This property used for video mode only
Gets the buffer of the frame image
hPlate | Handle of LicensePlate object |
pImageBuffer void** | Pointer to a pointer which receives the image buffer containing pixel data of the frame image in RGB24 format. |
width int* | Pointer to integer variable which receives width of frame image |
height int* | Pointer to integer variable which receives height of frame image |
stride int* | Pointer to integer variable which receives size of one image row in bytes |
You need to call LicensePlate_FreeImageBuffer with received pointer to free memory.
This property used for video mode only
Saves frame image to file (BMP, JPG, PNG)
hPlate | Handle of LicensePlate object |
fileName const char* | image file name |
param int | compression/quality parameter (see Notes) |
If image format is JPG then 'param' value means JPEG quality, value from 0 to 100
If image format is PNG then 'param' value means PNG compression, value from 0 to 9
If image format is BMP then 'param' value not used.
If 'param' value is set to -1, then default values will be used: 95 for JPEG, 6 for PNG
This property used for video mode only
Gets the buffer of plate image
hPlate | Handle of LicensePlate object |
pImageBuffer void** | Pointer to a pointer which receives the image buffer containing pixel data of the plate image in RGB24 format. |
width int* | Pointer to integer variable which receives width of plate image |
height int* | Pointer to integer variable which receives height of plate image |
stride int* | Pointer to integer variable which receives size of one image row in bytes |
You need to call LicensePlate_FreeImageBuffer with received pointer to free memory. This property used for video mode only
Saves plate image to file (BMP, JPG, PNG)
hPlate | Handle of LicensePlate object |
fileName const char* | image file name |
param int | compression/quality parameter (see Notes) |
If image format is JPG then 'param' value means JPEG quality, value from 0 to 100 If image format is PNG then 'param' value means PNG compression, value from 0 to 9 If image format is BMP then 'param' value not used.
If 'param' value is set to -1, then default values will be used: 95 for JPEG, 6 for PNG
This property used for video mode only
Delete image buffer
pImageBuffer void* | Pointer to image buffer received using LicensePlate_GetImageBuffer or LicensePlate_GetPlateImageBuffer functions. |
Activates license online
licenseKey const char* | String containing the license key |
comments const char* | String containing comments to assign to activation (optional) |
0 on success, error code otherwise
The Internet connection (host: dtksoft.com port: 80) is required to perform license activation.
The optional comments parameter can be used to identify certain license activation, for example machine name or customer name can be used.
Activates license on-line (extended)
licenseKey const char* | String containing the license key |
comments const char* | String containing comments to assign to activation(optional) |
channels int | Number of channels |
security_key const char* | Security key |
0 on success, error code otherwise
The Internet connection (host: dtksoft.com port: 80) is required to perform license activation.
The optional comments parameter can be used to identify certain license activation, for example machine name or customer name can be used.
This function should be used for special licenses that support activation of a certain number of channels and/or using a security key for activation.
Returns activation link to activate the defined license key
licenseKey const char* | String which contain license key |
comments const char* | String which contain comments assigned to activation (optional) |
activationLink char* | Pointer to string buffer which receives activation link |
size int | Size of string buffer |
Number of bytes copied to buffer. If activationLink = NULL or size = 0, then function return number of bytes required to store the result string
The Internet connection (host: dtksoft.com port: 80) is required to perform license activation.
The optional comments parameter can be used to identify certain license activation, for example machine name or customer name can be used.
Returns activation link to activate the defined license key
licenseKey const char* | String which contain license key |
comments const char* | String which contain comments assigned to activation (optional) |
channels int | Number of channels |
security_key const char* | Security key |
activationLink char* | Pointer to string buffer which receives activation link |
size int | Size of string buffer |
Number of bytes copied to buffer. If activationLink = NULL or size = 0, then function return number of bytes required to store the result string
The Internet connection (host: dtksoft.com port: 80) is required to perform license activation
The optional comments parameter can be used to identify certain license activation, for example machine name or customer name can be used.
This function should be used for special licenses that support activation of a certain number of channels and/or using a security key for activation.
Activates license on machine using activation code
activationCode const char* | String which contain activation code |
0 on success, error code otherwise
The optional comments parameter can be used to identify certain license activation, for example machine name or customer name can be used.
Gets the current machine/system ID
system_id char* | Pointer to string buffer which receives current machine ID (fingerprint) |
system_id_size int | Size of string buffer |
Number of bytes copied to buffer. If system_id = NULL or system_id_size = 0, then function return number of bytes required to store the result string
Reload license information from USB dongles
You do not need to call this function regularly, this function call is ONLY relevant after updating the USB key to tell the engine to reload the new license information from the dongle.
Gets information of the currently activated license
license_key char* | Pointer to string buffer which receives license key activated on current machine |
license_key_max_len int | Size of string buffer |
comments char* | Pointer to string buffer which receives activation comments |
comments_max_len int | Size of string buffer |
channels int* | Pointer to integer variable which receives number of channels of activated license |
expirationDate time_t* | Pointer to 64bit integer value (time_t C++ type) which receives expiration date of activated license |
The function returns the following information: license key, comments, number of channels, expiration date (if applicable)
If expirationDate value is 0, then license does not expire.
WARNING: THIS FUNCTION IS DEPRECATED, PLEASE USE <GetLicenseInfo> INSTEAD.
Gets information of the currently activated license
license_key char* | Pointer to string buffer which receives license key activated on current machine |
license_key_max_len int | Size of string buffer |
comments char* | Pointer to string buffer which receives activation comments |
comments_max_len int | Size of string buffer |
channels int* | Pointer to integer variable which receives number of channels of activated license |
expirationDate time_t* | Pointer to 64bit integer value (time_t C++ type) which receives expiration date of activated license |
usb_dongle_id char* | Pointer to string buffer which receives USB dongle id number |
usb_dongle_id_len int | Size of string buffer |
The function returns the following information: license key, comments, number of channels, expiration date (if applicable), USB dongle id (if applicable)
If expirationDate value is 0, then license does not expire.
If the license is not on a USB dongle, then usb_dongle_id will be an empty string.
WARNING: THIS FUNCTION IS DEPRECATED, PLEASE USE <GetLicenseInfo> INSTEAD.
Gets information about a license, either an activated software license or an plugged in USB dongle.
license_key char* | Pointer to string buffer which receives license key activated on current machine |
license_key_max_len int | Size of string buffer |
comments char* | Pointer to string buffer which receives activation comments |
comments_max_len int | Size of string buffer |
channels int* | Pointer to integer variable which receives number of channels of activated license |
expirationDate time_t* | Pointer to 64bit integer value (time_t C++ type) which receives expiration date of activated license |
usb_dongle_id char* | Pointer to string buffer which receives USB dongle id number |
usb_dongle_id_len int | Size of string buffer |
valid int* | Pointer to integer variable which receives boolean value 1 (true) or 0 (false), indicating whether the license is valid or not. |
The function returns the following information: license key, comments, number of channels, expiration date (if applicable), USB dongle id (if applicable)
If expirationDate value is 0, then license does not expire.
If the 'valid' parameter is false, it means that this license is not suitable for the version of the library you are using. You need to renew your license or use an older version of the library.
If the license is not on a USB dongle, then usb_dongle_id will be an empty string.
Sets information about the network license server to use for license verification.
ip_address char* | IP address of the DTK license server |
port int | port number of the DTK license server, default 54300 |
This function enables network licensing for current process. The DTK License Server must be executed on remote or local machine.
To use local machine use ip_address "127.0.0.1"
To disable network licensing call this function with empty ip_address parameter.
This function works only in full version of SDK (not in trial version)