Code Samples

To facilitate smooth integration, Rekor CarCheck® offers a range of code samples in different programming languages. These samples serve as practical guides, demonstrating how to interact with the API effectively. Whether you are working with Bash, Python, C #, Java, or JavaScript, you will find detailed examples below to help you understand the implementation process.

Bash

curl-XPOST-Fimage=@/car1.jpg'https://api.openalpr.com/v3/recognize?recognize_vehicle=1&country=us&secret_key=sk_DEMODEMODEMODEMODEMODEMO'

Python

#!/usr/bin/python
import requests
import base64
import json
# Sample image file is available at http://plates.openalpr.com/ea7the.jpg
IMAGE_PATH ='/tmp/sample.jpg'
SECRET_KEY ='sk_DEMODEMODEMODEMODEMODEMO'
withopen(IMAGE_PATH, 'rb')as image_file:
 img_base64 = base64.b64encode(image_file.read())
url ='https://api.openalpr.com/v3/recognize_bytes?recognize_vehicle=1&country=us&secret_key=%s'% (SECRET_KEY)
r = requests.post(url, data = img_base64)
print(json.dumps(r.json(), indent=2))

C#

using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.IO;
namespace ConsoleApplicationTest
{
 class Program
 {
 private static readonly HttpClient client = new HttpClient();
 public static async Task<string> ProcessImage(string image_path)
 {
 string SECRET_KEY = "sk_DEMODEMODEMODEMODEMODEMO";
 Byte[] bytes = File.ReadAllBytes(image_path);
 string imagebase64 = Convert.ToBase64String(bytes);
 var content = new StringContent(imagebase64);
 var response = await client.PostAsync("https://api.openalpr.com/v3/recognize_bytes?recognize_vehicle=1&country=us&secret_key=" + SECRET_KEY, content).ConfigureAwait(false);
 var buffer = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
 var byteArray = buffer.ToArray();
 var responseString = Encoding.UTF8.GetString(byteArray, 0, byteArray.Length);
 return responseString;
 }
 static void Main(string[] args)
 {
 Task<string> recognizeTask = Task.Run(() => ProcessImage(@"C:\Temp\car1.jpg"));
 recognizeTask.Wait();
 string task_result = recognizeTask.Result;
 System.Console.WriteLine(task_result);
 }
 }
}

Java

import java.net.;
import java.io.;
import java.nio.file.*;
import java.util.Base64;
class TestOpenALPR {
 public static void main(String[] args)
 {
 try
 {
 String secret_key = "sk_DEMODEMODEMODEMODEMODEMO";
 // Read image file to byte array
 Path path = Paths.get("/storage/projects/alpr/samples/testing/car1.jpg");
 byte[] data = Files.readAllBytes(path);
 // Encode file bytes to base64
 byte[] encoded = Base64.getEncoder().encode(data);
 // Setup the HTTPS connection to api.openalpr.com
 URL url = new URL("https://api.openalpr.com/v3/recognize_bytes?recognize_vehicle=1&country=us&secret_key=" + secret_key);
 URLConnection con = url.openConnection();
 HttpURLConnection http = (HttpURLConnection)con;
 http.setRequestMethod("POST"); // PUT is another valid option
 http.setFixedLengthStreamingMode(encoded.length);
 http.setDoOutput(true);
 // Send our Base64 content over the stream
 try(OutputStream os = http.getOutputStream()) {
 os.write(encoded);
 }
 int status_code = http.getResponseCode();
 if (status_code == 200)
 {
 // Read the response
 BufferedReader in = new BufferedReader(new InputStreamReader(
 http.getInputStream()));
 String json_content = "";
 String inputLine;
 while ((inputLine = in.readLine()) != null)
 json_content += inputLine;
 in.close();
 System.out.println(json_content);
 }
 else
 {
 System.out.println("Got non-200 response: " + status_code);
 }
 }
 catch (MalformedURLException e)
 {
 System.out.println("Bad URL");
 }
 catch (IOException e)
 {
 System.out.println("Failed to open connection");
 }
 }
}

JavaScript

<html>
 <title>
 CarCheck API Demo
 </title>
 <head>
 <script>
 // Open connection to api.openalpr.com
 var secret_key = "sk_DEMODEMODEMODEMODEMODEMO";
 var url = "https://api.openalpr.com/v3/recognize_bytes?recognize_vehicle=1&country=us&secret_key=" + secret_key;
 var xhr = new XMLHttpRequest();
 xhr.open("POST", url);
 // Send POST data and display response
 xhr.send("base64_string"); // Replace with base64 string of an actual image
 xhr.onreadystatechange = function() {
 if (xhr.readyState == 4) {
 document.getElementById("response").innerHTML = xhr.responseText;
 } else {
 document.getElementById("response").innerHTML = "Waiting on response...";
 }
 }
 </script>
 </head>
 <body>
 JSON response: <p id="response"></p><br>
 </body>
</html>

Results

Upon successful use of the API, the JSON response will provide detailed information in a structured format. The response includes key data points such as license plate number, vehicle make and model, color, and additional relevant information, ensuring a comprehensive overview of the recognized vehicle.

{
 "data_type" : "alpr_results",
 "epoch_time" : 1592849838217,
 "img_width" : 600,
 "img_height" : 600,
 "error" : false,
 "version" : 3,
 "credit_cost" : 1,
 "uuid" : "",
 "processing_time" : {
 "plates" : 85.0386276245117,
 "vehicles" : 76.9439999994574,
 "total" : 830.30300000064
 },
 "regions_of_interest" : [
 {
 "y" : 0,
 "height" : 600,
 "x" : 0,
 "width" : 600
 }
 ],
 "credits_monthly_used" : 5001,
 "credits_monthly_total" : 100000,
 "results" : [
 {
 "requested_topn" : 10,
 "matches_template" : 1,
 "region_confidence" : 99,
 "plate_index" : 0,
 "plate" : "627WWI",
 "region" : "us-wa",
 "confidence" : 94.0910949707031,
 "coordinates" : [
 {
 "x" : 238,
 "y" : 358
 },
 {
 "x" : 357,
 "y" : 358
 },
 {
 "x" : 357,
 "y" : 408
 },
 {
 "x" : 239,
 "y" : 409
 }
 ],
 "candidates" : [
 {
 "matches_template" : 1,
 "plate" : "627WWI",
 "confidence" : 94.0910949707031
 },
 {
 "matches_template" : 0,
 "plate" : "627WW1",
 "confidence" : 74.0910949707031
 }
 ],
 "vehicle_region" : {
 "y" : 96,
 "x" : 3,
 "width" : 589,
 "height" : 483
 },
 "processing_time_ms" : 8.83281803131104,
 "vehicle_detected" : true,
 "vehicle" : {
 "make" : [
 {
 "name" : "daihatsu",
 "confidence" : 67.1475448608398
 },
 {
 "name" : "mini",
 "confidence" : 18.6626739501953
 },
 {
 "name" : "fiat",
 "confidence" : 8.87434959411621
 },
 {
 "confidence" : 1.25781571865082,
 "name" : "scion"
 },
 {
 "confidence" : 1.04451608657837,
 "name" : "toyota"
 }
 ],
 "year" : [
 {
 "name" : "2005-2009",
 "confidence" : 54.0047645568848
 },
 {
 "confidence" : 39.7950668334961,
 "name" : "2000-2004"
 },
 {
 "name" : "2010-2014",
 "confidence" : 5.38613367080688
 },
 {
 "name" : "1995-1999",
 "confidence" : 0.628315031528473
 },
 {
 "confidence" : 0.16707843542099,
 "name" : "1990-1994"
 }
 ],
 "color" : [
 {
 "confidence" : 77.7851638793945,
 "name" : "silver-gray"
 },
 {
 "confidence" : 9.67624187469482,
 "name" : "blue"
 },
 {
 "name" : "black",
 "confidence" : 7.02981376647949
 },
 {
 "name" : "green",
 "confidence" : 2.66030049324036
 },
 {
 "name" : "gold-beige",
 "confidence" : 1.42329037189484
 }
 ],
 "orientation" : [
 {
 "name" : "180",
 "confidence" : 99.9426956176758
 },
 {
 "name" : "225",
 "confidence" : 0.0323438383638859
 },
 {
 "name" : "135",
 "confidence" : 0.0129895266145468
 },
 {
 "name" : "45",
 "confidence" : 0.00725177442654967
 },
 {
 "confidence" : 0.00194440386258066,
 "name" : "90"
 }
 ],
 "body_type" : [
 {
 "confidence" : 99.8512573242188,
 "name" : "sedan-compact"
 },
 {
 "name" : "tractor-trailer",
 "confidence" : 0.0433907173573971
 },
 {
 "name" : "sedan-sports",
 "confidence" : 0.0432351566851139
 },
 {
 "confidence" : 0.0218438617885113,
 "name" : "suv-crossover"
 },
 {
 "confidence" : 0.0212091449648142,
 "name" : "sedan-wagon"
 }
 ],
 "make_model" : [
 {
 "name" : "mini_cooper-s",
 "confidence" : 35.001880645752
 },
 {
 "confidence" : 23.0991153717041,
 "name" : "mini_cooper"
 },
 {
 "confidence" : 5.29244709014893,
 "name" : "daihatsu_sirion"
 },
 {
 "name" : "mini_hatch",
 "confidence" : 4.69152307510376
 },
 {
 "confidence" : 4.35747337341309,
 "name" : "daihatsu_tanto"
 }
 ]
 }
 }
 ],
 "vehicles" : [
 {
 "x" : 3,
 "y" : 96,
 "width" : 589,
 "height" : 483,
 "details" : {
 "orientation" : [
 {
 "name" : "180",
 "confidence" : 99.9426956176758
 },
 {
 "name" : "225",
 "confidence" : 0.0323438383638859
 },
 {
 "name" : "135",
 "confidence" : 0.0129895266145468
 },
 {
 "confidence" : 0.00725177442654967,
 "name" : "45"
 },
 {
 "name" : "90",
 "confidence" : 0.00194440386258066
 }
 ],
 "make" : [
 {
 "name" : "daihatsu",
 "confidence" : 67.1475448608398
 },
 {
 "name" : "mini",
 "confidence" : 18.6626739501953
 },
 {
 "confidence" : 8.87434959411621,
 "name" : "fiat"
 },
 {
 "confidence" : 1.25781571865082,
 "name" : "scion"
 },
 {
 "confidence" : 1.04451608657837,
 "name" : "toyota"
 }
 ],
 "color" : [
 {
 "name" : "silver-gray",
 "confidence" : 77.7851638793945
 },
 {
 "name" : "blue",
 "confidence" : 9.67624187469482
 },
 {
 "name" : "black",
 "confidence" : 7.02981376647949
 },
 {
 "confidence" : 2.66030049324036,
 "name" : "green"
 },
 {
 "confidence" : 1.42329037189484,
 "name" : "gold-beige"
 }
 ],
 "year" : [
 {
 "name" : "2005-2009",
 "confidence" : 54.0047645568848
 },
 {
 "name" : "2000-2004",
 "confidence" : 39.7950668334961
 },
 {
 "name" : "2010-2014",
 "confidence" : 5.38613367080688
 },
 {
 "name" : "1995-1999",
 "confidence" : 0.628315031528473
 },
 {
 "confidence" : 0.16707843542099,
 "name" : "1990-1994"
 }
 ],
 "make_model" : [
 {
 "confidence" : 35.001880645752,
 "name" : "mini_cooper-s"
 },
 {
 "confidence" : 23.0991153717041,
 "name" : "mini_cooper"
 },
 {
 "name" : "daihatsu_sirion",
 "confidence" : 5.29244709014893
 },
 {
 "confidence" : 4.69152307510376,
 "name" : "mini_hatch"
 },
 {
 "name" : "daihatsu_tanto",
 "confidence" : 4.35747337341309
 }
 ],
 "body_type" : [
 {
 "confidence" : 99.8512573242188,
 "name" : "sedan-compact"
 },
 {
 "confidence" : 0.0433907173573971,
 "name" : "tractor-trailer"
 },
 {
 "confidence" : 0.0432351566851139,
 "name" : "sedan-sports"
 },
 {
 "confidence" : 0.0218438617885113,
 "name" : "suv-crossover"
 },
 {
 "confidence" : 0.0212091449648142,
 "name" : "sedan-wagon"
 }
 ]
 }
 }
 ]
}

Last updated

Was this helpful?

AltStyle によって変換されたページ (->オリジナル) /