Skip to main content

License Plate Recognition (LPR) Configuration

Application Guide

For a complete walkthrough with code examples, see the License Plate Recognition application guide.

This section covers three endpoints for LPR configuration and plate database management:

  • GetSmartVehicleConfig — read LPR detection settings
  • AddVehiclePlate — add plates to the whitelist/blacklist database
  • GetVehiclePlate — search the plate database

GetSmartVehicleConfig

Retrieves license plate recognition configuration, including detection sensitivity, supported region, deduplication settings, and detection zone.

FieldValue
Endpoint/GetSmartVehicleConfig[/channelId]
MethodPOST or GET
ProductsIPC
Channel IDOptional (default 1)

Response Example (v2.0)

<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<types>
<plateAreaType>
<enum continent="NorthAmerica">U.S.A</enum>
<enum continent="NorthAmerica">Canada</enum>
<enum continent="Europe">Germany</enum>
<enum continent="Europe">Britain</enum>
<!-- Additional regions... -->
</plateAreaType>
<alarmListType>
<enum>blackList</enum>
<enum>whiteList</enum>
<enum>strangerList</enum>
</alarmListType>
</types>
<vehicle>
<switch type="boolean">false</switch>
<plateSencitivity type="uint8">49</plateSencitivity>
<plateSupportArea type="plateAreaType">U.S.A</plateSupportArea>
<saveTargetPicture type="boolean">false</saveTargetPicture>
<saveSourcePicture type="boolean">false</saveSourcePicture>
<dedupMode>
<switch type="boolean">false</switch>
<intervalTime type="uint32" default="5">5</intervalTime>
</dedupMode>
<regionInfo type="list" maxCount="1" count="1">
<item>
<X1 type="uint32">375</X1>
<Y1 type="uint32">2866</Y1>
<X2 type="uint32">9625</X2>
<Y2 type="uint32">8800</Y2>
</item>
</regionInfo>
<plateMatch>
<alarmMode type="alarmModeType">plateOnly</alarmMode>
</plateMatch>
</vehicle>
</config>

Parameters

ParameterTypeRangeDescription
switchbooleantrue / falseEnable or disable LPR detection
plateSencitivityuint80–100Plate detection sensitivity (note firmware spelling)
plateSupportAreaplateAreaTypeSee enum listRegion/country for plate format recognition
saveTargetPicturebooleantrue / falseSave cropped plate image on detection
saveSourcePicturebooleantrue / falseSave full-frame source image on detection
dedupMode.switchbooleantrue / falseEnable plate deduplication
dedupMode.intervalTimeuint32default: 5Minimum seconds between duplicate plate reports
regionInfolistmaxCount: 1Detection zone (rectangular region)
regionInfo.item.X1uint32Left X coordinate of detection zone
regionInfo.item.Y1uint32Top Y coordinate of detection zone
regionInfo.item.X2uint32Right X coordinate of detection zone
regionInfo.item.Y2uint32Bottom Y coordinate of detection zone
plateMatch.alarmModealarmModeTypePlate matching alarm mode (e.g., plateOnly)

Supported Plate Regions

The plateAreaType enum includes regions grouped by continent:

ContinentRegions
North AmericaU.S.A, Canada
EuropeGermany, Britain, and others

Query your camera's GetSmartVehicleConfig response for the complete list of supported regions on your firmware version.

Notes

v2.0 Additions

API v2.0 adds dedupMode (deduplication with configurable interval) and plateMatch/alarmMode to the vehicle configuration. These fields are not present in v1.x responses.

  • The spelling plateSencitivity (not "sensitivity") matches the firmware's XML — use this exact spelling when setting configuration.
  • The detection zone uses a single rectangular region (maxCount: 1), unlike intrusion detection which supports polygon regions.
  • The corresponding Set command is SetSmartVehicleConfig using the same XML structure.

AddVehiclePlate

Adds one or more license plates to the camera's plate database (whitelist, blacklist, or stranger list).

FieldValue
Endpoint/AddVehiclePlate
MethodPOST
ProductsIPC

Request Example

<?xml version="1.0" encoding="utf-8"?>
<config>
<vehiclePlates type="list" count="1">
<item>
<carPlateNumber type="string"><![CDATA[ABC1234]]></carPlateNumber>
<beginTime type="string"><![CDATA[2024/01/01 00:00:00]]></beginTime>
<endTime type="string"><![CDATA[2024/12/31 23:59:59]]></endTime>
<carOwner type="string"><![CDATA[John Doe]]></carOwner>
<plateItemType type="string">whiteList</plateItemType>
</item>
</vehiclePlates>
</config>

Request Parameters

ParameterTypeDescription
carPlateNumberstring (CDATA)License plate number
beginTimestring (CDATA)Start date/time for plate validity (YYYY/MM/DD HH:MM:SS)
endTimestring (CDATA)End date/time for plate validity (YYYY/MM/DD HH:MM:SS)
carOwnerstring (CDATA)Name of the vehicle owner
plateItemTypestringList type: whiteList, blackList, or strangerList

Notes

  • Multiple plates can be added in a single request by increasing the count attribute and adding more <item> elements.
  • The beginTime and endTime fields define the validity window — the plate is only active during this period.
  • Use whiteList for authorized vehicles (e.g., gate access) and blackList for vehicles that should trigger alerts.

GetVehiclePlate

Retrieves license plates from the camera's plate database with pagination and filtering.

FieldValue
Endpoint/GetVehiclePlate
MethodPOST or GET
ProductsIPC
v2.0 Only

This endpoint is available only on API v2.0 firmware.

Request Example

<config xmlns="http://www.ipc.com/ver10" version="2.0.0">
<vehiclePlates type="list" maxCount="10000" count="1">
<searchFilter>
<item>
<pageIndex type="uint32">0</pageIndex>
<pageSize type="uint32">10</pageSize>
<listType type="vehicleListTypes">allList</listType>
<carPlateNum type="string"></carPlateNum>
</item>
</searchFilter>
</vehiclePlates>
</config>

Request Parameters

ParameterTypeDescription
pageIndexuint32Page number (0-based) for pagination
pageSizeuint32Number of results per page
listTypevehicleListTypesFilter by list type: allList, whiteList, blackList, or strangerList
carPlateNumstringFilter by plate number (empty string returns all)

Notes

  • The database supports up to 10,000 plates (maxCount="10000").
  • Use pageIndex and pageSize to paginate through large plate databases.
  • Set carPlateNum to a specific plate number to search for a single plate, or leave empty to return all plates matching the listType filter.
EndpointPurpose
SetHttpPostConfigConfigure webhook destination for LPR alerts
GetAlarmStatusPoll current alarm state