Skip to content

使用 Azure AI Vision Java SDK 实现图像分析与 OCR 提取

通过集成 Azure AI Vision SDK for Java,开发者可以快速为应用程序添加计算机视觉能力,实现从简单的图像打标到复杂的 OCR 文本提取和智能裁剪等分析功能。

为什么需要这个技能

在构建现代应用时,处理图像数据往往需要复杂的机器学习模型。手动训练模型成本极高且周期长。Azure AI Vision 提供了成熟的 API,允许开发者通过简单的 SDK 调用,即可让程序“看懂”图片内容,例如识别图片中的文字、检测物体位置或为图片自动生成自然语言描述。

适用场景

  • 自动化文档数字化:通过 OCR 功能从扫描件或照片中提取文本。
  • 内容审核与管理:使用标签(Tags)和对象检测自动为海量图片库分类。
  • 辅助功能开发:为视障用户生成图像的文字描述(Caption)。
  • 电商/媒体平台:利用智能裁剪(Smart Cropping)自动生成最佳比例的缩略图。

核心工作流

1. 环境准备与依赖配置

pom.xml 中引入 SDK 依赖:

xml
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-ai-vision-imageanalysis</artifactId>
    <version>1.1.0-beta.1</version>
</dependency>

2. 客户端实例化

支持通过 API Key 或 Azure 默认凭据初始化客户端:

java
ImageAnalysisClient client = new ImageAnalysisClientBuilder()
    .endpoint(System.getenv("VISION_ENDPOINT"))
    .credential(new KeyCredential(System.getenv("VISION_KEY")))
    .buildClient();

3. 调用视觉分析功能

根据需求选择不同的 VisualFeatures。例如,同时请求描述、标签和 OCR 结果:

java
ImageAnalysisResult result = client.analyzeFromUrl(
    imageUrl,
    Arrays.asList(VisualFeatures.CAPTION, VisualFeatures.TAGS, VisualFeatures.READ),
    new ImageAnalysisOptions().setGenderNeutralCaption(true));

System.out.println("图像描述: " + result.getCaption().getText());
System.out.println("识别标签数: " + result.getTags().size());

4. 处理 OCR 文本结果

遍历识别到的文本块、行与词,获取精确的坐标位置和置信度:

java
for (DetectedTextBlock block : result.getRead().getBlocks()) {
    for (DetectedTextLine line : block.getLines()) {
        System.out.printf("行文字: '%s'%n", line.getText());
    }
}

下载和安装

下载 azure-ai-vision-imageanalysis-java 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐