2016-06-10 14 views
1

Habe versucht, Daten aus einem Govt zu lesen. Ausgestellt Personalausweis und füllen Sie die Felder des Formulars wie folgt mit Googles Vision-Api ..Lesen von Vision API Texterkennung und -befüllung Geeignete Felder

Government ID

Ich habe erfolgreich die Daten aus der Vision-API lesen, aber jetzt Probleme Ausfüllen des Formulars mit Blick wie mit den entsprechenden Daten nach ..

Form

Wie kann ich das erreichen?

What i Wish to get

Die Antwort von Vision API:

{ 
"responses": [ 
    { 
     "textAnnotations": [ 
      { 
       "locale": "en", 
       "description": "amagas faATST\nINCOME TAX DEPARTMENT\nMAHENDRAKUMARRBAGUL\nRAMKRISHNA NATTHU BAGUL\n01/06/1981\n4Permanent Account Number\nANSAB4834E\nSignature\nGOVT OF INDIA\n", 
       "boundingPoly": { 
        "vertices": [ 
         { 
          "x": 2, 
          "y": 64 
         }, 
         { 
          "x": 4308, 
          "y": 64 
         }, 
         { 
          "x": 4308, 
          "y": 2701 
         }, 
         { 
          "x": 2, 
          "y": 2701 
         } 
        ] 
       } 
      }, 
      { 
       "description": "amagas", 
       "boundingPoly": { 
        "vertices": [ 
         { 
          "x": 6, 
          "y": 64 
         }, 
         { 
          "x": 774, 
          "y": 65 
         }, 
         { 
          "x": 774, 
          "y": 374 
         }, 
         { 
          "x": 6, 
          "y": 373 
         } 
        ] 
       } 
      }, 

Mit freundlicher Hilfe

Antwort

1

Sie dies mit Node.js. tun können Ich habe es mit Node.js mit der Microsoft Computer Vision API gemacht. Nachdem Sie die JSON-Zeichenfolge abgerufen haben, analysieren Sie diese in ein JSON-Objekt und führen Sie eine Schleife aus, um daraus Daten zu extrahieren. Danach verwenden Sie die Split-Funktion, um die Daten in Arrays zu speichern.

//Load the request module 
var request = require('request'); 

var str=""; 
//Lets configure and request 
request({ 
    url: 'https://api.projectoxford.ai/vision/v1.0/ocr?', //URL to hit 
    qs: {"language": "unk", 
     "detectOrientation ": "true" 
     }, //Query string data 

    method: 'POST', //Specify the method 

    headers: { //We can define headers too 
     'Content-Type': 'application/json', 
     'Ocp-Apim-Subscription-Key':'xxxxxxxxxxxxxxxx' 
    }, 

    body: "{'url':'LINK TO THE IMAGE'}", 

}, function(error, response, body){ 
    if(error) { 
     console.log(error); 
    } else { 
     var jsonObj = JSON.parse(body); 

     var ob = jsonObj; 
      for(i=0;i<ob.regions.length;i++){ 
       for(j=0;j<ob.regions[i].lines.length;j++){ 
        for(k=0;k<ob.regions[i].lines[j].words.length;k++){ 
          var str = str + " "+ob.regions[i].lines[j].words[k].text; 
        } 
        str = str + "\n"; 
       } 
      } 


      var arr = str.split("\n"); 

      console.log("Name: " + arr[1]); 
      console.log("Father's Name: " + arr[2]); 
      console.log("Date of Birth: " + arr[3]); 
      console.log("Permanent Account Number: " + arr[5]); 

    } 
}); 

Verwenden Sie einfach Ihren eigenen Microsoft Computer Vision API-Abonnementschlüssel in diesem. Wenn Sie Ihre eigene JSON-Datei verwenden möchten, die von Ihrer Google Vision-API generiert wurde, löschen Sie einfach den oberen Code und verwenden Sie den Algorithmus im unteren Teil des Codes. Es wird klappen! :) Prost

1

Basierend auf der Probe zur Verfügung gestellt Sie können wir davon ausgehen, dass 1. DEPARTMENT und Signatur werden für uns in allen Antworten zur Verfügung stehen 2. Informationen, die Sie brauchen, ist in separaten Zeilen

auf der Grundlage dieser Annahmen:

const regExpression = new Regex(' /(DEPARTMENT\\n(.*)\\nSignature)/'); 
 
const str = response.responses[0].textAnnotations[0].description; // this will be from the api response form vision 
 
const match = str.match(regExpression)[2].split(“\\n”); 
 

 
/* Output of above script will be like below 
 
[ 
 
    "MAHENDRAKUMARRBAGUL", 
 
    "RAMKRISHNA NATTHU BAGUL", 
 
    "01/06/1981", 
 
    "4Permanent Account Number", 
 
    "ANSAB4834E" 
 
] 
 
*/