从 Vision 中读取 API 文本检测和填充适当的字段
Reading from Vision API Text Detection and Filling Appropriate fields
一直在尝试从政府读取数据。使用 google 的 Vision Api..
签发身份证并填写如下表格的字段
我已经成功地从愿景中读取数据 API 但现在在填写表格时遇到问题,例如使用适当的数据..
我怎样才能做到这一点?
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
}
]
}
},
请帮忙
您可以使用 Node.js 执行此操作。我使用 Node.js 使用 Microsoft 的计算机视觉 API 完成了它。获得 JSON 字符串后,将其解析为 JSON 对象和 运行 循环以从中提取数据。之后使用split函数将数据存储到数组中。
//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]);
}
});
只需使用您自己的 Microsoft Computer Vision API 订阅密钥即可。如果您想使用从您的 Google Vision API 生成的您自己的 JSON 文件,只需刮掉上面的代码并使用代码下方的算法。它会起作用! :) 干杯
根据您提供的示例,我们可以假设
1. DEPARTMENT 和 Signature 将在所有回复中提供给我们
2. 您需要的所有信息都在单独的行中
基于这些假设:
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"
]
*/
一直在尝试从政府读取数据。使用 google 的 Vision Api..
签发身份证并填写如下表格的字段我已经成功地从愿景中读取数据 API 但现在在填写表格时遇到问题,例如使用适当的数据..
我怎样才能做到这一点?
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
}
]
}
},
请帮忙
您可以使用 Node.js 执行此操作。我使用 Node.js 使用 Microsoft 的计算机视觉 API 完成了它。获得 JSON 字符串后,将其解析为 JSON 对象和 运行 循环以从中提取数据。之后使用split函数将数据存储到数组中。
//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]);
}
});
只需使用您自己的 Microsoft Computer Vision API 订阅密钥即可。如果您想使用从您的 Google Vision API 生成的您自己的 JSON 文件,只需刮掉上面的代码并使用代码下方的算法。它会起作用! :) 干杯
根据您提供的示例,我们可以假设 1. DEPARTMENT 和 Signature 将在所有回复中提供给我们 2. 您需要的所有信息都在单独的行中
基于这些假设:
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"
]
*/