Google 视觉文本检测响应逐行
Google vision Text Detection response to be line by line
我正在使用 Google 视觉 api 对收据图像执行文本识别。我得到了一些不错的结果 returned 但 return 的格式非常不可靠。如果文本之间有很大的差距,读数将打印下面的行而不是旁边的行。
例如,使用以下 Recipt Image 我得到以下响应:
4x Löwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3,30 26,401
3x Hefe-Weissbier a 3,30 9,90 1
1x Saft 0,25
1x Grosses Wasser
1x Vegetarische Varia
1x Gyros
1x Baby Kalamari Gefu
2x Gyros Folie
1x Schafskäse Ofen
1x Bifteki Metaxa
1x Schweinefilet Meta
1x St ifado
1x Tee
2,50 1
2,40 1
9,90 1
8,90 1
12,90
a 9,9019,80 1
6,90 1
11,90 1
13,90 1
14,90 1
2,10 1
一开始效果不错,正如预期的那样,但在尝试将价格与文本等联系起来时变得相当无用。理想的响应如下:
4x Löwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3,30 26,401
3x Hefe-Weissbier a 3,30 9,90 1
1x Saft 0,25 2,50 1
1x Grosses Wasser 2,40 1
1x Vegetarische Varia 9,90 1
1x Gyros 8,90 1
1x Baby Kalamari Gefu 12,90 1
2x Gyros Folie a 9,9019,80 1
1x Schafskäse Ofen 6,90 1
1x Bifteki Metaxa 11,90 1
1x Schweinefilet Meta 13,90 1
1x St ifado 14,90 1
1x Tee 2,10 1
或接近于此。
是否可以将格式请求添加到 api 以获得不同的响应?我在使用 tessereact 时取得了成功,您可以在其中更改输出格式以实现此结果,并且想知道愿景 api 是否有类似的东西。
我了解可以使用的 api returns 字母坐标,但我希望不必深入到那种深度。
您可以向 JSON 请求添加 feature
提示。对于这样的收据图像,DOCUMENT_TEXT_DETECTION
给出好的结果:
{
"requests": [
{
"image": {
"source": {
"imageUri": "https://i.stack.imgur.com/TRTXo.png"
}
},
"features": [
{
"type": "DOCUMENT_TEXT_DETECTION"
}
]
}
]
}
您可以复制上面的 JSON 并将其粘贴到 Try This API 中的 Request Body documentation page 上的窗格。结果:
4x LOwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3, 3026, 40 1
3x Hefe-Weissbier a 3,30990 1
1x Saft 0,25 2, 50 1
1x Grosses Wasser 2, 40 1
1x Vegetarische Varia 9,90 1
1x Gyros 8,90 1
1x Baby Kalamari Gefu 12,90 !
2x Gyros Folie a 9,9019, 80 1
1x Schaf skäse Ofen 6,90 1
1x Bifteki Metaxa 11,90 1
1x Schweinefilet Meta 13,90 1
1x Stifado 14, 90 1
1x Tee 2, 10 1
Googie Vision 目前的可配置性比 Tesseract 低得多。因为 Google 支持两个项目,猜猜哪个项目在未来会获得更高的优先级?
这可能是一个迟到的答案,但添加它以供将来参考。对于相距很远的文本,DOCUMENT_TEXT_DETECTION 也没有提供正确的行分割。
以下代码根据字符多边形坐标进行简单的线段分割。
https://github.com/sshniro/line-segmentation-algorithm-to-gcp-vision
Google Vision API 有一个方法 fullTextAnnotation
其中 returns 一个带有 \n
指定行尾的全文字符串,你可以试试那。希望对你有用。
我正在使用 Google 视觉 api 对收据图像执行文本识别。我得到了一些不错的结果 returned 但 return 的格式非常不可靠。如果文本之间有很大的差距,读数将打印下面的行而不是旁边的行。
例如,使用以下 Recipt Image 我得到以下响应:
4x Löwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3,30 26,401
3x Hefe-Weissbier a 3,30 9,90 1
1x Saft 0,25
1x Grosses Wasser
1x Vegetarische Varia
1x Gyros
1x Baby Kalamari Gefu
2x Gyros Folie
1x Schafskäse Ofen
1x Bifteki Metaxa
1x Schweinefilet Meta
1x St ifado
1x Tee
2,50 1
2,40 1
9,90 1
8,90 1
12,90
a 9,9019,80 1
6,90 1
11,90 1
13,90 1
14,90 1
2,10 1
一开始效果不错,正如预期的那样,但在尝试将价格与文本等联系起来时变得相当无用。理想的响应如下:
4x Löwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3,30 26,401
3x Hefe-Weissbier a 3,30 9,90 1
1x Saft 0,25 2,50 1
1x Grosses Wasser 2,40 1
1x Vegetarische Varia 9,90 1
1x Gyros 8,90 1
1x Baby Kalamari Gefu 12,90 1
2x Gyros Folie a 9,9019,80 1
1x Schafskäse Ofen 6,90 1
1x Bifteki Metaxa 11,90 1
1x Schweinefilet Meta 13,90 1
1x St ifado 14,90 1
1x Tee 2,10 1
或接近于此。
是否可以将格式请求添加到 api 以获得不同的响应?我在使用 tessereact 时取得了成功,您可以在其中更改输出格式以实现此结果,并且想知道愿景 api 是否有类似的东西。
我了解可以使用的 api returns 字母坐标,但我希望不必深入到那种深度。
您可以向 JSON 请求添加 feature
提示。对于这样的收据图像,DOCUMENT_TEXT_DETECTION
给出好的结果:
{
"requests": [
{
"image": {
"source": {
"imageUri": "https://i.stack.imgur.com/TRTXo.png"
}
},
"features": [
{
"type": "DOCUMENT_TEXT_DETECTION"
}
]
}
]
}
您可以复制上面的 JSON 并将其粘贴到 Try This API 中的 Request Body documentation page 上的窗格。结果:
4x LOwenbräu Original a 3,00 12,00 1
8x Weissbier dunkel a 3, 3026, 40 1
3x Hefe-Weissbier a 3,30990 1
1x Saft 0,25 2, 50 1
1x Grosses Wasser 2, 40 1
1x Vegetarische Varia 9,90 1
1x Gyros 8,90 1
1x Baby Kalamari Gefu 12,90 !
2x Gyros Folie a 9,9019, 80 1
1x Schaf skäse Ofen 6,90 1
1x Bifteki Metaxa 11,90 1
1x Schweinefilet Meta 13,90 1
1x Stifado 14, 90 1
1x Tee 2, 10 1
Googie Vision 目前的可配置性比 Tesseract 低得多。因为 Google 支持两个项目,猜猜哪个项目在未来会获得更高的优先级?
这可能是一个迟到的答案,但添加它以供将来参考。对于相距很远的文本,DOCUMENT_TEXT_DETECTION 也没有提供正确的行分割。
以下代码根据字符多边形坐标进行简单的线段分割。
https://github.com/sshniro/line-segmentation-algorithm-to-gcp-vision
Google Vision API 有一个方法 fullTextAnnotation
其中 returns 一个带有 \n
指定行尾的全文字符串,你可以试试那。希望对你有用。