Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / Windev / API Openalpr : Lire les plaques d’immatriculation

Windev / API Openalpr : Lire les plaques d’immatriculation

Aujourd’hui je vous présente un petit script qui permet de reconnaître une plaque d’immatriculation depuis une photo.

L’excellente librairy qui permet de faire ça n’est pas une fonction windev mais une API… que l’on va utiliser dans windev.

Explication sur l’API : Cloud API — openalpr 2.5.103 documentation

Voir le site OpenALPR – Automatic License Plate Recognition pour plus de détail sur cette API.
Il faudra vous inscrire (c’est gratuit, pour 2000 reconnaissances par jour) afin d’obtenir la LicenceKey de l’API : OpenALPR Login

Code:
// Déclaration des variables
LaReponse est une restRéponse
sFichier est une chaîne 
req est une restRequête
vRésultatRetourné est un Variant

//Chemin de la photo
sFichier= fRepDonnées() + fSep + "lavoiture.jpg"

// Envoi et récupération du numéro de plaque détecté par l'API
req.Contenu = Encode(fChargeBuffer(sFichier),encodeBASE64)
req.Méthode = httpPost
req.URL = "https://api.openalpr.com/v2/recognize?recognize_vehicle=1&country=us&secret_key=sk_DEMODEMODEMODEMODEMODEMO'"

LaReponse = RESTEnvoie(req)
vRésultatRetourné = JSONVersVariant(LaReponse.Contenu)

// Traitement de la réponse
SELON vRésultatRetourné..Occurrence
    CAS 0 : Info("Pas de plaque d'immatriculation trouvée !")
    CAS 1 : Info("La plaque d'immatriculation trouvée : " + vRésultatRetourné.result[1].plate)
    CAS 2 : Info("2 plaques trouvée " + vRésultatRetourné.result[1].plate + " et " + vRésultatRetourné.result[2].plate)
FIN

Voila ! On imagine facilement quelle genre d’applicatif on pourrais faire avec cette fonction géniale et open-source.
L’API permet de reconnaître le modèle et la couleur de la voiture aussi si j’ai bien compris…

 

Source

4 commentaires

  1. Bonjour,

    j’ai testé le code, en remplaçant bien ma SK, j’ai toujours une erreur à l’exécution:

    « Vous avez appelé la fonction JSONVersVariant.
    Format JSON invalide »

    Une idée?

    Merci,
    Romain.

  2. En quelle version Windev es tu ?
    Car encode() n’existe pas en wd21

  3. Papa Boubacar Diallo

    Bonjour j’ai testé le code il me renvoie toujours le même message  »
    Info(« 2 plaques trouvée  » + vRésultatRetourné.result[1].plate +  » et  » + vRésultatRetourné.result[2].plate)
     »

    même si l’image ne contient pas de plaque d d’immatriculation

Répondre

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

shared on wplocker.com