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
// 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…
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.
En quelle version Windev es tu ?
Car encode() n’existe pas en wd21
sinon va voir cette vidéo.
https://www.fekwx.com/threads/windev-api-openalpr-lire-les-plaques-dimmatriculation.789/
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