Spring Cloud GCP和Cloud Vision。一个新的记录链

187 阅读4分钟

目录

阅读时间: 3 分钟

简介

在这篇博文中,我们将探讨Spring Cloud GCP对Spring Boot和Cloud Vision的支持。

春天云GCP

Spring Cloud GCP是一套库,可以帮助你在谷歌云平台上构建和管理应用程序。使用Spring Cloud GCP构建的应用程序具有以下特点。

  • 它们是有弹性的,具有强大的设计和容错功能,如Circuit Breaker和Hystrix。
  • 它们通过启用基于Prometheus收集的指标的自动扩展,提供更好的可扩展性。
  • 它们通过处理负载均衡、服务发现(使用Eureka)和客户端SSL终止等事项,使开发人员能够专注于其业务逻辑。

云愿景

这是一项允许你分析图像并识别其中的物体、人脸和地标的服务。云视野提供OCR、人脸、地标和图像分析功能。

云端视觉可以识别图像中的文字,并以可能的匹配列表的形式提供结果。下面的例子显示了如何在GCP上使用云端视觉API(https://cloud.google.com/vision/docs/)来对你的相机应用所拍摄的图像进行实时OCR。

依赖关系的设置

要使用Spring Cloud GCP,请向您的项目添加以下依赖项。

要使用Google Cloud Vision,你需要添加这些依赖项。

配置

在本节中,我们将学习如何配置你的应用程序、服务、控制器和模板。

  • 应用程序配置
  • 服务配置
  • 控制器配置
  • 模板配置
  • 模型配置

云端视觉OCR的依赖性

使用以下依赖项来启用GCP云端视觉OCR。

  • `com.google.cloud`:版本1.4或更高
  • `io.springcloud.*`:这个依赖已经包含在Spring Cloud GCP样本中,所以如果你使用这些样本作为参考,你不必手动添加它。
  • `org.springframework.*`(Java 8或更高版本)。如果你从文本内容中生成图像,并希望图像的元数据与之相连(例如,文件名和时间戳),你就需要Spring Framework。

图像分析

图像分析是检测和提取图像中有用信息的过程。这通常涉及使用图像处理算法,但也可以由人手动完成。此外,图像分析被用于许多领域,包括天文学、生物学和医学。

文件分析

文件分析是一个可以检测文件类型和其属性的API。它可以检测文件的类型和它的属性。此外,文件分析有助于检测文件的类型和它的属性。

文档OCR模板

要创建一个文档OCR模板,你必须建立一个Spring Cloud GCP项目并以你选择的模型格式定义你的模型。然后你需要创建一个与模型文件名相同的图像文件,但要有不同的扩展名。例如,如果你有一个名为 "document_ocr_template.xml "的文件,它就像保存为 "document_ocr_template.png"。这个图片将在生产环境中使用之前用于训练你的模型。

要使用这个模板进行检测,首先,你需要通过对它调用ImageIO的getBytes()方法或从InputStream bitmap = new FileInputStream(".\images\image1")将你的图像转换成字节数组(byte[])。这将提供一个图像文件像素的副本,然后可以输入其他工具,如Tesseract。此外,为了使用Tesseract检测这些字节的文本,在调用TesseractEngine::newInstance()后添加: tesseractEngine->setInput("image-file"); tesseractEngine->setOcrLanguage("eng"); tesseractEngine->process(); tesseractResults = tesseractEngine->getResults(); 你的结果应该看起来像。

如何使用Spring Cloud GCP和Cloud Vision

要使用Spring Cloud GCP,你必须在你的pom.xml文件中添加以下依赖项。

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-gcp-starter-vision</artifactId>
</dependency>

而对于Gradle

dependencies {
  implementation("org.springframework.cloud:spring-cloud-gcp-starter-vision")
}

例如,请考虑下面的图像标签的示例代码。

@Autowired
private ResourceLoader resourceLoader;

@Autowired
private CloudVisionTemplate cloudVisionTemplate;

public void processImage() {
  Resource imageResource = this.resourceLoader.getResource("my_image.jpg");
  AnnotateImageResponse response = this.cloudVisionTemplate.analyzeImage(
      imageResource, Type.LABEL_DETECTION);
  System.out.println("Image Classification results: " + response.getLabelAnnotationsList());
}

结论

  • 按照下面的步骤开始使用Cloud Vision,我们的视觉库允许你检测照片和图像中的物体。
  • 在一个新的终端窗口中,运行 "cloud-vision "命令,并向它提供你的视觉库的位置(我们之前安装的那个)以及一个样本图像。
  • 再次运行 "cloud-vision"(不带引号),这次向它提供你选择的输入图像。
  • 一个成功的分析将产生一个输出的JSON文件,可以使用任何JSON阅读器来读取,比如JSONView的这个文件:https://www.jsonvieweronline.com/tools/jsonviewer/
  • 现在你已经拥有了开始检测图像中的物体所需的一切!

关于Spring Cloud GCP的更多细节,请访问我们的博客。
关于Spring Cloud GCP的详细参考资料,请访问以下谷歌文档。
docs.spring.io/spring-clou…

分享Knol。

相关信息