目录
- 简介
- Spring Cloud GCP
- 云愿景
- 依赖关系的设置
- 配置
- 云视讯OCR的依赖性
- 图像分析
- 文件分析
- 文件OCR模板
- 如何使用Spring Cloud GCP和Cloud Vision
- 结语
阅读时间: 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 Client Libraries](https://github.com/googlecloudplatform/google-cloud-client)
- [Spring Cloud GCP](https://github.com/spring-projects/spring-cloud-gcp)
要使用Google Cloud Vision,你需要添加这些依赖项。
- [Google Cloud Client Libraries](https://github.com/googlecloudplatform/google-cloud-client)* [Spring Cloud GCP](https://github.com/spring-projects/spring-cloud-gcp)* [Spring Framework 4.3](http://projects.springframework.org/) 或以上
配置
在本节中,我们将学习如何配置你的应用程序、服务、控制器和模板。
- 应用程序配置
- 服务配置
- 控制器配置
- 模板配置
- 模型配置
云端视觉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…