![](/uploads/1/2/7/0/127096593/569254492.jpg)
Raspberry Pi Automatic License Plate Recognition with OpenCV 5: OpenALPR on your Raspberry Pi - Duration: 14:53. Francesco Piscani 69,331 views. In this project you’re going to learn how to build a car recognition system using a Raspberry Pi and Node-RED. For this project we’ll be using a software called OpenALPR (Automatic License Place Recognition) that has an API you can use to identify car plates and car models based on an image.
Welcome to the Plate Recognizer API! You can use our API to access our API endpoints, which can read license plates from images. For detailed instructionson how to install the SDK, go here.
We have multiple language bindings. You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Plate Recognizer API is only available to registered users. You first have to register and get an API key. It has to be included in all API calls. The HTTP headers must contain:
Authorization: Token API_TOKEN
API_TOKEN
with your personal API key.Read Number Plates from an Image
Return value
This endpoint reads all license plates from an image.
HTTP Request
![Number Number](/uploads/1/2/7/0/127096593/742022017.jpg)
POST https://api.platerecognizer.com/v1/plate-reader/
POST Parameters
Parameter | Required | Description |
---|---|---|
upload | Yes | The file to be uploaded. The parameter can either be the file bytes (using Content-Type multipart/form-data) or a base64 encoded image. |
regions | No | Match the license plate pattern of a specific region or regions. This parameter can be used multiple times to specify more than one region. * |
camera_id | No | Unique camera identifier. |
timestamp | No | ISO 8601 timestamp. For example, 2019-08-19T13:11:25. The timestamp has to be in UTC. |
mmc | No | Predict vehicle make and model. This feature is only available upon request. Possible values are 'true' or 'false'. |
* The regions parameter is used as a guide and the template will be ignored if the prediction differs too much from it. It works this way because we want to still be able to read plates from foreign vehicles. The system may sometimes mistake a local vehicle for a foreign one.
JSON Response
The response is a list of all the license plates found in the image. Each license plate has the following elements:
Attribute | Description |
---|---|
results/plate | Text of the license plate. |
results/box | Bounding box for the license plate. Coordinates in pixel of the top left and bottom right corners of the plate. |
results/dscore | Score for plate detection. Range [0, 1]. |
results/score | Score for reading the license plate text. Range [0, 1]. |
results/vehicle/type | Vehicle type: Ambulance, Bus, Car, Limousine, Motorcycle, Taxi, Truck, Van, Unknown. |
results/region/code | Region of license plate. Returns a code from the country list. |
The value dscore is dependent on the type of image we are processing. For example, if the images are coming from a highway camera you may have a threshold of X for good license plate detection. But if images are coming from a parking lot you may have a threshold of Y. So a good dscore has to be determined based on the images you are sending to us.
View complete examples for ALPR API integration. Easily do batching and use the API on a video. Examples are written in multiple languages.Regions supported
The regions parameter can take one of the following codes. In addition to country, you can also provide a states to select more specific license plate patterns. States are only supported for USA and Australia.
The column Prediction indicates if the region is supported by our region classification predictor (field
results/region/code
).Country | Region code | Prediction |
---|---|---|
Albania | al | |
Andorra | ad | |
Angola | ao | |
Argentina | ar | Yes |
Armenia | am | Yes |
Australia | au | Yes |
Austria | at | Yes |
Azerbaijan | az | Yes |
Belarus | by | Yes |
Belgium | be | Yes |
Belize | bz | |
Bolivia | bo | |
Bosnia and Herzegovina | ba | |
Brazil | br | Yes |
Brunei | bn | |
Bulgaria | bg | Yes |
Canada | ca | Yes |
Chile | cl | Yes |
Columbia | co | Yes |
Costa Rica | cr | Yes |
Croatia | hr | Yes |
Cyprus | cy | |
Czechia | cz | Yes |
Denmark | dk | |
Ecuador | ec | |
El Salvador | sv | |
Estonia | ee | Yes |
Finland | fi | Yes |
France | fr | Yes |
French Guiana | gf | |
Georgia | ge | Yes |
Germany | de | Yes |
Gibraltar | gi | |
Greece | gr | Yes |
Guatamala | gp | |
Guyana | gy | |
Holy See | va | |
Honduras | hn | |
Hungary | hu | Yes |
Iceland | is | |
Israel | il | Yes |
India | in | Yes |
Indonesia | id | Yes |
Ireland | ie | |
Italy | it | Yes |
Jordan | jo | |
Kazakhstan | kz | Yes |
Kenya | ke | |
Korea, Republic of | kr | |
Latvia | lv | Yes |
Lebanon | lb | |
Liechtenstein | li | |
Lithuania | lt | Yes |
Luxembourg | lu | Yes |
Malaysia | my | |
Maldives | mv | |
Malta | mt | |
Mexico | mx | |
Moldova, Republic of | md | Yes |
Monaco | mc | Yes |
Montenegro | me | Yes |
Nepal | np | |
Netherlands | nl | Yes |
New Zealand | nz | Yes |
Nicaragua | ni | |
Nigeria | ng | |
North Macedonia | mk | |
Norway | no | Yes |
Panama | pa | |
Paraguay | py | |
Peru | pe | |
Philippines | ph | |
Poland | pl | Yes |
Portugal | pt | Yes |
Qatar | qa | |
Romania | ro | Yes |
Russian Federation | ru | |
San Marino | sm | |
Serbia | rs | Yes |
Singapore | sg | |
Slovakia | sk | Yes |
Slovenia | si | |
South Africa | za | Yes |
Spain | es | Yes |
Suriname | sr | |
Sweden | se | Yes |
Switzerland | ch | Yes |
Tanzania | tz | |
Turkey | tr | Yes |
Ukraine | ua | Yes |
United Arab Emirates | ae | Yes |
United Kingdom of Great Britain | gb | Yes |
United States of America | us | Yes |
Uraguay | uy | |
Uzbekistan | uz | Yes |
Venezuela | ve | |
Vietnam | vn | Yes |
Zambia | zm |
States
Australian states:
State | Region code |
---|---|
New South Wales | au-nsw |
Queensland | au-qld |
South Australia | au-sa |
Tasmania | au-tas |
Victoria | au-vic |
Western Australia | au-wa |
United States of America states:
State | Region code |
---|---|
Alabama | us-al |
Alaska | us-ak |
Arizona | us-az |
Arkansas | us-ar |
California | us-ca |
Colorado | us-co |
Connecticut | us-ct |
Delaware | us-de |
District of Columbia | us-dc |
Florida | us-fl |
Georgia | us-ga |
Hawaii | us-hi |
Idaho | us-id |
Illinois | us-il |
Indiana | us-in |
Iowa | us-ia |
Kansas | us-ks |
Kentucky | us-ky |
Louisiana | us-la |
Maine | us-me |
Maryland | us-md |
Massachusetts | us-ma |
Michigan | us-mi |
Minnesota | us-mn |
Mississippi | us-ms |
Missouri | us-mo |
Montana | us-mt |
Nebraska | us-ne |
Nevada | us-nv |
New Hampshire | us-nh |
New Jersey | us-nj |
New Mexico | us-nm |
New York | us-ny |
North Carolina | us-nc |
North Dakota | us-nd |
Ohio | us-oh |
Oklahoma | us-ok |
Oregon | us-or |
Pennsylvania | us-pa |
Rhode Island | us-ri |
South Carolina | us-sc |
South Dakota | us-sd |
Tennessee | us-tn |
Texas | us-tx |
Utah | us-ut |
Vermont | us-vt |
Virginia | us-va |
Washington | us-wa |
West Virginia | us-wv |
Wisconsin | us-wi |
Wyoming | us-wy |
Brazilian states:
State | Region Code |
---|---|
Acre | br-ac |
Alagoas | br-al |
Amapá | br-ap |
Amazonas | br-am |
Bahia | br-ba |
Ceará | br-ce |
Distrito Federal | br-df |
Espírito Santo | br-es |
Goiás | br-go |
Manias Gerais | br-mg |
Maranhão | br-ma |
Mato Grosso do Sul | br-ms |
Mato Grosso | br-mt |
Pernambuco | br-pe |
Pará | br-pa |
Paraíba | br-pb |
Paraná | br-pr |
Piauí | br-pi |
Rio de Janeiro | br-rj |
Rio Grande do Norte | br-rn |
Rio Grande do Sul | br-rs |
Rondônia | br-ro |
Roraima | br-rr |
São Paulo | br-sp |
Sergipe | br-se |
Santa Catarina | br_sc |
Tocantins | br-to |
Recognition API
Return value
Our service is also available on-premises. Get started with the SDK. It has the same interface as the recognition API. Note that it is hosted locally.
HTTP Request
POST http://localhost:8080/alpr
Accepts the same parameters as the recognition API.
JSON Response
Returns the same parameters as the recognition API. In addition to that, it returns the number of calls used.
SDK version
Return value
HTTP Request
GET http://localhost:8080/info/
JSON Response
Returns the SDK version, license key and webhooks.
Example of POST payload
Our service also have a webhook service that allows you to receive a HTTP POST request to a target URL of your choosing. To configure webhooks, go to webhooks settings page to manage your webhooks or add a new webhook target.
To quickly test out this feature, you can use the URL from a http://webhook.site.
Get number of recognition calls done during the current month.
HTTP Request
GET https://api.platerecognizer.com/v1/statistics/
Return value
JSON Response
Attribute | Description |
---|---|
calls | Number of API calls made during the current period. |
month | Month of the current period. |
year | Year of the current period. |
total_calls | Maximum number of API calls you can make during the period. Need more? Upgrade. |
Error Code | Meaning |
---|---|
403 | Forbidden -- Your API key is wrong. |
413 | Payload Too Large response status code indicates that the request entity is larger than limits defined by our server. See upload limits. |
429 | Indicates the user has sent too many requests in a given amount of time. Upgrade for higher number of calls per second. |
Can't make it work? We may have answers on our FAQ.
![](/uploads/1/2/7/0/127096593/569254492.jpg)