PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Reconnaissance d'image - cloud vision
Reconnaissance d'image - cloud vision
Débuté par CLAUDE, 26 déc. 2018 18:09 - 5 réponses
Membre enregistré
17 messages
Popularité : +1 (1 vote)
Posté le 26 décembre 2018 - 18:09
Bonjour,

J'ai voulu implémenter la reconnaissance de texte dans une image avec l'API Google cloud vision.

Je m'étais appuyé sur les docs pcsoft et google et aussi sur un programme équivalent mais en windev.

// https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev.old/25452-api-google-cloud-vision/read.awp

J'ai suivi le protocole google (création de projet, activation compte facturation lié à ce projet et obtention de la clé d'activation de l'API Cloud vision): https://cloud.google.com/vision/docs/before-you-begin
J'ai un problème. la requete ne renvoie pas d'erreur mais un code 403 interdit. Je ne comprends pas car en windev cela fonctionne bien sans passer par les jetons. Or dans windev mobile pour android, les fonctions d'authentification google ne sont pas disponibles.
Quelqu'un a une idée ?

Merci à vous
Laurent

req est un restRequête
req.AgentUtilisateur="watchcatwm"
req.Contenu=Encode(fChargeBuffer( fRepDonnées+fSep+"piecejointe.jpg"),encodeBASE64)
req.Méthode=httpPost
req.ContentType="application/json"
req.Contenu=VariantVersJSON(req)

// fichier de retour = request.json - On efface l'ancien préexistant
// clé key=b55f9888deafeb034ba55af666c2806e04cdd8c1
req.URL="https://vision.googleapis.com/v1/images:annotate?key=b55f9888deafeb034ba55af666c2806e04cdd8c1"
rep est un restRéponse=RESTEnvoie(req)
SI ErreurDétectée ALORS
Erreur("pb retour requete cloud vision"+RC+ErreurInfo(errComplet))
FIN
// avec le codeEtat je vois le message 403 dans la réponse
Trace(rep.CodeEtat+" - "+rep.ContentType+" - "+rep.Contenu)

v est un Variant=JSONVersVariant(rep.Contenu)

Trace("v..Occurrence "+v..Occurrence)
// si on a une réponse
SI v..Occurrence>0 ALORS
POUR TOUT _Membre de v
Trace(_Membre..Valeur)
SI _Membre..Membre..Occurrence = 0 ALORS
Trace("Le membre " + _Membre..Nom + " a la valeur " + _Membre..Valeur)
SINON
Trace("Le membre " + _Membre..Nom + " a " + _Membre..Membre..Occurrence + " autres membres")
ParcoursMembresVariant(v) // fonction récursive
FIN
FIN
FIN
Membre enregistré
17 messages
Popularité : +1 (1 vote)
Posté le 27 décembre 2018 - 10:15
Je n'avais pas vu .
Pb réglé.

Il suffisait de lire la LST 109

Laurent
Membre enregistré
251 messages
Popularité : +1 (1 vote)
Posté le 08 novembre 2020 - 16:31
Bonjour Claude,

Deux ans après, je me mets aussi à utiliser OCR de Google Cloud Vision dans une application Android

J'ai un code à peu près pareil au votre, je reçois un code 200 ( OK)
Mais dans la variable de type restRéponse, le contenu s'affiche comme des caractères chinois !!!!

Pouvez vous m'aider avec un code qui marche svp ?

--
Chouaïb
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 08 novembre 2020 - 17:22
ChouLAGH a écrit :
Bonjour Claude,

Deux ans après, je me mets aussi à utiliser OCR de Google Cloud Vision dans une application Android

J'ai un code à peu près pareil au votre, je reçois un code 200 ( OK)
Mais dans la variable de type restRéponse, le contenu s'affiche comme des caractères chinois !!!!

Pouvez vous m'aider avec un code qui marche svp ?

--
Chouaïb


C'est sûrement un problème de UTF-8 ou d'unicode
Regarde les fonctions correspondantes
Membre enregistré
251 messages
Popularité : +1 (1 vote)
Posté le 09 novembre 2020 - 15:40
Merci Popoy,
Oui j'ai ajouté AnsiVersUnicode() et ça a marché.
PAR CONTRE J'AI UN GROS PB de lenteur de réponse de Google Cloud.
Quand je teste avec Go en chargeant une image sur mon PC, Google Cloud répond vite,
Quad je teste sur le Smartphone en prenant une photo et en l'envoyant à Google Cloud : ça met plusieurs minutes !!!!

Une piste peut être ?

--
Chouaïb
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 09 novembre 2020 - 18:44
Si tu es en wifi essaie en 4g