为什么EntityAnnotation类的getScore()API始终返回零?

时间:2019-06-24 10:41:32

标签: java google-cloud-platform ocr google-vision

我正在使用谷歌视觉API进行图像的文本检测,它以JSON格式给出响应。因此,此响应属于com.google.cloud.vision.v1.EntityAnnotation.From EntityAnnotation对象,我试图使用EntityAnnotation的getScore()获取值。但是,每次返回0时,我都期望某个浮点值而不是0。有人遇到过类似的问题吗?要了解Google视觉文本检测api,可以通过https://cloud.google.com/vision/docs/ocr帮助表示感谢。谢谢。

我尝试使用Google视觉api提供的LABEL_DETECTION标记输入相同的内容。为此,它返回0到1之间的一些值,而不是零。但是它不适用于使用TEXT_DETECTION标记的相同输入。我在Windows-10上测试过

try (FileInputStream inputStream = new FileInputStream(filePath); ImageAnnotatorClient client = ImageAnnotatorClient.create()) {
    final ByteString imageBytes = ByteString.readFrom(inputStream);
    final Image image = Image.newBuilder().setContent(imageBytes).build();
    final Feature feature = Feature.newBuilder().setType(TEXT_DETECTION).build();
    final AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feature).setImage(image)
        .build();
    requests.add(request);

    final BatchAnnotateImagesResponse response = client.batchAnnotateImages(requests);
    final List < AnnotateImageResponse > responseList = response.getResponsesList();

    result = responseList.get(0).getTextAnnotationsList();
}

final EntityAnnotation annotation = result.get(0);
final Float score = annotation.getScore();

1 个答案:

答案 0 :(得分:1)

TEXT_DETECTION没有分数。尝试展开“响应”以查看为TEXT_DETECTION返回的属性的示例:https://cloud.google.com/vision/docs/ocr

您可能对DOCUMENT_TEXT_DETECTIONfull_text_annotation(其中有confidence)感兴趣。