2017-06-05 1 views
0

J'essaie de détecter du texte dans une image distante avec l'API google Cloud Vision, mais je n'arrive pas à obtenir la syntaxe vision.detectText() correcte. Comment utiliser vision.detectText() lorsqu'il n'y a pas de compartiment de stockage en nuage?API google Cloud Vision: node.js et un URI d'image, comment appeler vision.detectText()?

Je pense que je peux/dois ignorer la référence à storage.bucket() indiquée sur https://cloud.google.com/vision/docs/detecting-text

Je:

vision.detectText('https://drive.google.com/file 
    /d/0Bw4DMtLCtPMkWVlIVXE5a2ZpQlU/view?usp=drivesdk') 
      .then((results) => { 
      const detections = results[0]; 
      console.log('Text:'); 
      detections.forEach((text) => console.log(text)); 
      }) 
      .catch((err) => { 
      console.error('ERROR:', err); 
      }); 

les rapports de la console:

ERROR: { PartialFailureError: A failure occurred during this request. 
at /Users/node_modules/@google-cloud/vision/src/index.js:434:15 
at /Users/node_modules/@google-cloud/vision/src/index.js:126:5 
at _combinedTickCallback (internal/process/next_tick.js:80:11) 
at process._tickCallback (internal/process/next_tick.js:104:9) 
errors: 
[ { image: 'https://drive.google.com/file/d 
/0Bw4DMtLCtPMkNFFselFhU0RMV2c/view?usp=drivesdk', 
    errors: [Object] } ], 
response: { responses: [ [Object] ] }, 
message: 'A failure occurred during this request.' } 

I avez essayé d'utiliser:

vision.detectText(storage.bucket().file('https://...... 

mais l'erreur est:

Error: A bucket name is needed to use Cloud Storage. 

Répondre

0

On dirait que vous n'êtes pas définir votre variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. Le code suivant fonctionne comme testé:

const Vision = require('@google-cloud/vision'); 
const vision = Vision(); 
const fileName = 'http://example.com/eg.jpg'; 

vision.detectText(fileName) 
    .then((results) => { 
    const detections = results[0]; 

    console.log('Text:'); 
    detections.forEach((text) => console.log(text)); 
    }) 
    .catch((err) => { 
     console.error('ERROR:', err); 
    }); 

Pour essayer avec notre échantillon, passer un URI (par exemple http URI) à l'échantillon detect.js comme:

node detect.js fulltext http://www.identifont.com/samples/houseindustries/NeutraText.gif 
+0

vision.detectFaces() n'indique pas un paramètre de compartiment comme vision.detectText() – user1405141

+0

Mise à jour pour démontrer la détection de texte – class

+0

grève que. laissez-moi vérifier, merci. – user1405141