From e27fbf47bd87047a3e565f164eca8391d49f9009 Mon Sep 17 00:00:00 2001 From: Mick Vleeshouwer Date: Sat, 17 Mar 2018 20:37:57 +0100 Subject: [PATCH] feat(plugin): add OpenALPR plugin --- src/@ionic-native/plugins/openalpr/index.ts | 69 +++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/@ionic-native/plugins/openalpr/index.ts diff --git a/src/@ionic-native/plugins/openalpr/index.ts b/src/@ionic-native/plugins/openalpr/index.ts new file mode 100644 index 00000000..7d0f5c30 --- /dev/null +++ b/src/@ionic-native/plugins/openalpr/index.ts @@ -0,0 +1,69 @@ +import { Injectable } from '@angular/core'; +import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; + +export interface OpenALPROptions { + /** Country used for scanning the license plate */ + country?: string; + + /** Amount of results returned */ + amount?: number; +} + +export interface OpenALPRResult { + /** LicensePlate */ + number: string; + /** Probability */ + confidence: number; +} + +/** + * @name OpenALPR + * @description + * This Cordova plugin adds support for the OpenALPR (Automatic License Plate Recognition) library, which provides support for retrieving the license plate from a picture. + * + * @usage + * ```typescript + * import { OpenALPR, OpenALPROptions, OpenALPRResult } from '@ionic-native/openalpr'; + * + * + * constructor(private openALPR: OpenALPR) { } + * + * const scanOptions: OpenALPROptions = { + * country: this.openALPR.Country.EU, + * amount: 3 + * } + * + * this.openALPR.scan(imageData, scanOptions) + * .then((res: [OpenALPRResult]) => console.log(res)) + * .catch((error: Error) => console.error(error)); + * + * ``` + */ +@Plugin({ + pluginName: 'OpenALPR', + plugin: 'cordova-plugin-openalpr', + pluginRef: 'cordova.plugins.OpenALPR', + repo: 'https://github.com/iMicknl/cordova-plugin-openalpr', + platforms: ['Android', 'iOS'] +}) + +@Injectable() +export class OpenALPR extends IonicNativePlugin { + + Country = { + EU: 'eu', + US: 'us', + AU: 'au', + BR: 'br', + KR2: 'kr2' + }; + + /** + * This function does something + * @param imageData {any} Base64 encoding of the image data or the image file URI + * @param options {OpenALPROptions} Options to pass to the OpenALPR scanner + * @return {Promise} Returns a promise that resolves when something happens + */ + @Cordova() + scan(imageData: any, options?: OpenALPROptions): Promise { return; } +}