# Windows

## Download

The Windows Vehicle Recognition SDK package can be downloaded here: <https://deb.openalpr.com/windows-sdk/openalpr64-sdk-latest.zip>

Before getting started, ensure you have the latest versions of [Visual Studio](https://visualstudio.microsoft.com/downloads/) and [.NET](https://dotnet.microsoft.com/en-us/download) installed.

## Licensing

Before running the software you must obtain a license key. If you haven't already done so, please visit the [Request a License](https://docs.rekor.ai/developers/vehicle-recognition-sdk/request-a-license) section to submit your information.

After acquiring a license, paste the license key into the license.conf file to begin using the software. Alternatively, you can set the license as an environment variable named `OPENALPR_LICENSE_KEY`.

## Command Line Application

`alpr.exe` is a command line application that can analyze license plates. Type `alpr --help` from the Windows command prompt for more information.

### Examples

```bash
# Recognize a US-style plate
alpr -c us samples/us-1.jpg

# Recognize a US-style plate and measure the processing time
alpr -c us --clock samples/us-1.jpg

# Recognize a European-style plate with JSON output
alpr -c eu -j samples/eu-1.jpg
```

## Integration

The Vehicle Recognition SDK is written in C++ and has native support for integrating with C/C++ applications.

Vehicle Recognition SDK also includes bindings for C#, Java, and Python. Each of these bindings fully implements the [Rekor Scout® API](https://app.gitbook.com/s/6Vw5WlNC3SZYgYghV1xw/web-server/rest-api).

All of the DLLs in the root directory are required at runtime in order for the application to function. If you run in C#, Java, or Python, for example, the native DLLs must be accessible to the program so that it can load.

{% tabs %}
{% tab title="C/C++" %}
To include Vehicle Recognition SDK in your C/C++ application, include the `alpr_c.h` file in the include directory. You must also link the `libopenalpr.dll` shared library to your code.
{% endtab %}

{% tab title="C#" %}
The C# integration is bundled into the DLL file `alprnet.dll`. You should add this as a reference to your .NET application to use the functionality. You may also include the C# binding source code in your project.

The C# library includes two example applications. The full source code is available at <https://github.com/openalpr/openalpr/tree/master/src/bindings/csharp>.
{% endtab %}

{% tab title="Java" %}
Run the `java_test.bat` program to test the Java integration. This assumes that javac and java are available on your system PATH.

The Java integration uses Java Native Interface (JNI) to connect Java code to Rekor Scout. This requires the `openalprjni.dll` file to be available at runtime. The Java source code is in `java/com/openalpr/jni` and there is an example located in `java/Main.java`.
{% endtab %}

{% tab title="Python" %}
Run the `python_test.bat` program to test the Python integration. This assumes that Python is available on your system PATH.

The Python integration uses ctypes to bind the Rekor Scout functions to Python code. This requires the `libopenalprpy.dll` file to be available at runtime. The Python code is located in `python/openalpr.py`. There is a test program in `python/test.py`.
{% endtab %}
{% endtabs %}
