gpt4 book ai didi

.net - 来自 Google Vision API 的不同文本检测结果

转载 作者:行者123 更新时间:2023-12-01 08:49:00 24 4
gpt4 key购买 nike

从 .Net 代码和演示应用程序中获取相同图像的不同文本检测结果 google vision api result.net result

这是我的代码:

            var response = vision.Images.Annotate(
new BatchAnnotateImagesRequest()
{
Requests = new[]
{
new AnnotateImageRequest()
{
Features = new[]
{
new Feature()
{
Type =
"TEXT_DETECTION"
}
},
Image = image
}
}
}).Execute();

最佳答案

正如 Emil 的回答中所述,您需要 DOCUMENT_TEXT_DETECTION 功能而不是 TEXT_DETECTION。但是,您可以比使用当前代码更简单地完成这一切。

而不是使用 Google.Apis.Vision.V1 (看起来你正在做,并且使用 REST 端点),我建议使用 Google.Cloud.Vision.V1 (它使用 gRPC 端点,希望更容易使用。免责声明:我在后一个库上工作)。请注意,您可以使用 REST 端点完成大部分工作。

这是使用后一个库的完整示例。

using Google.Cloud.Vision.V1;
using System;
using System.Linq;

class Program
{
static void Main(string[] args)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("/image/H21rL.png");
var annotations = client.DetectDocumentText(image);
var paragraphs = annotations.Pages
.SelectMany(page => page.Blocks)
.SelectMany(block => block.Paragraphs);
foreach (var para in paragraphs)
{
var box = para.BoundingBox;
Console.WriteLine($"Bounding box: {string.Join(" / ", box.Vertices.Select(v => $"({v.X}, {v.Y})"))}");
var symbols = string.Join("", para.Words.SelectMany(w => w.Symbols).SelectMany(s => s.Text));
Console.WriteLine($"Paragraph: {symbols}");
Console.WriteLine();
}
}
}

这会丢失符号之间的空格,但表明正在检测所有文本 - 执行实际检测的方法调用非常简单:

var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("/image/H21rL.png");
var annotations = client.DetectDocumentText(image);

上面的大部分代码都在处理响应。

关于.net - 来自 Google Vision API 的不同文本检测结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47872907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com