Skip to main content

Plate Recognizer Blur

Plate Recognizer Blur lets you blur partial, dented, upside-down and other types of vehicle license plates and faces.
Blur works in conjunction with both Snapshot SDK or Snapshot Cloud.
For Snapshot Cloud deployment of Blur, please contact us for more info.
See examples of Blur in action.

Install Options#

Docker#

This is the recommended install option.

Choose the appropriate image for the next steps

  • CPU platerecognizer/skew-correction
  • CPU with no AVX support platerecognizer/skew-correction:no-avx

Docker Compose#

Quick and easy installation of Blur and Snapshot SDK onPremise. Install instructions

No Docker#

Low level setup of Blur source code and Python dependencies. Install instructions

Upgrade#

Pull the latest image using the docker pull command then restart the container if running:

docker pull platerecognizer/skew-correction:latestdocker restart skew-correction

Run Modes#

Note that an internet connection is required for license verification to run Blur.

Command Line Application#

This is the default run mode

Process images in a single folder recursively then exit.

Minimum required command options:#

Command OptionDescription
-e TOKEN=TOKENSnapshot Cloud API token
-e LICENSE_KEY=LICENSE_KEYSnapshot SDK license key
-v /folder/with/images:/imagesMount Images folder

Run command:#

docker run -it \  -e TOKEN=TOKEN \  -e LICENSE_KEY=LICENSE_KEY \  -v /folder/with/images:/images \  platerecognizer/skew-correction

Blur will send images in the folder to Snapshot API and use the detected plate bounding box to perform blurring.
New files will be created in the same folder with blur- pre-pended to the original file names.
More configuration options are available

API Server#

Stay long-running, process images uploaded using the REST API.

Minimum required command options:#

Command OptionDescription
-e TOKEN=TOKENSnapshot Cloud API token
-e LICENSE_KEY=LICENSE_KEYSnapshot SDK license key
-e SERVER=1Run as an API Server
-p 8001:8001Server port. Optional if using host networking

Run command:#

docker run -it \  -p 8001:8001 \  -e TOKEN=TOKEN \  -e LICENSE_KEY=LICENSE_KEY \  -e SERVER=1 \  platerecognizer/skew-correction

Image upload Example:#

  • Allowed request method is POST.
  • Any errors in processing will return a status code of 400
  • Server listening port is 8001
# Process an image from a URLcurl -o /tmp/blur-car.jpg -d 'upload_url=https://app.platerecognizer.com/static/demo.jpg' http://localhost:8001/
# Download a test picturecurl -o /tmp/car.jpg https://app.platerecognizer.com/static/demo.jpg
# Upload to API for blurringcurl -F 'upload=@/tmp/car.jpg' -o /tmp/car-blur.jpg http://localhost:8001/

Response Format:#

Response is a JSON of accurate polygon points around the plates and faces for blurring the image externally.

AttributeDescription
faces/boxFace detection bounding box
faces/scoreFace detection confidence level
plates/polygonAccurate plate polygon
plates/resultOriginal plate detection result from Snapshot
{  "faces": [    {      "box": {        "xmax": 326,        "xmin": 300,        "ymax": 137,        "ymin": 100      },      "score": 0.7088521122932434    }  ],  "plates": [    {      "polygon": [        [          157.375,          494.484375        ],        [          272.546875,          544.453125        ],        [          268.890625,          581.625        ],        [          153.109375,          531.65625        ]      ],      "result": {}    }  ]}

To blur an image with the API, add the blur param to the API call or enable blurring when running the container.
Response is a binary output of the blurred image with format similar to input.
More configuration options are available