SuperAPI AI 工具集

azure-ai-vision-imageanalysis-java

编程与开发

查看项目

更新于 10-16 02:14

技能介绍

用途

Azure AI Vision Image Analysis SDK for Java 用于在 Java 应用中构建图像分析功能。当需要实现图像描述生成、OCR 文字提取、对象检测、标签识别等任务时,可使用该 SDK。

安装

通过 Maven 引入依赖:

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

客户端创建

支持三种凭据方式:

  • 使用 API Key:通过 ImageAnalysisClientBuilder 的 endpoint 与 KeyCredential 构建 ImageAnalysisClient。
  • 异步客户端:同一 builder 调用 buildAsyncClient() 得到 ImageAnalysisAsyncClient。
  • 使用 DefaultAzureCredential:通过 DefaultAzureCredentialBuilder 构建凭据。

主要能力(视觉特征)

  • CAPTION:生成人类可读的图像描述。
  • DENSE_CAPTIONS:为最多 10 个区域生成描述。
  • READ:OCR,从图像中提取文字。
  • TAGS:为物体、场景、动作生成内容标签。
  • OBJECTS:检测对象并返回边界框。
  • SMART_CROPS:生成智能缩略图区域。
  • PEOPLE:检测人物及其位置。

使用方式

核心方法为 client.analyze(从本地文件,使用 BinaryData.fromFile)与 client.analyzeFromUrl(从 URL)。调用时传入 VisualFeatures 列表与可选的 ImageAnalysisOptions,例如设置 setGenderNeutralCaption(true) 或 setLanguage("en")。结果对象提供 getCaption()、getTags()、getObjects()、getRead().getBlocks()、getPeople()、getSmartCrops()、getDenseCaptions() 等访问器。

典型片段包括:

  • 生成描述:analyze 后读取 result.getCaption().getText() 与 getConfidence()。
  • OCR:遍历 getRead().getBlocks() 中的 getLines(),再遍历行内 getWords(),可获取 bounding polygon 与词级置信度。
  • 对象检测:遍历 getObjects(),读取 getTags().get(0).getName() 与 getBoundingBox() 的 x/y/width/height。
  • 标签:遍历 getTags() 读取名称与置信度。
  • 人物检测:遍历 getPeople() 读取 getBoundingBox() 与 getConfidence()。
  • 智能裁剪:设置 setSmartCropsAspectRatios(Arrays.asList(1.0, 1.5)),遍历 getSmartCrops() 读取宽高比与裁剪框。
  • 密集描述:遍历 getDenseCaptions() 读取文本、置信度与区域框。
  • 多特征:一次传入 CAPTION、TAGS、OBJECTS、READ,并统一设置选项。

异步分析:asyncClient.analyzeFromUrl(...).subscribe(result -> ..., error -> ..., () -> ...)。

错误处理:捕获 com.azure.core.exception.HttpResponseException,读取 e.getResponse().getStatusCode() 与 e.getMessage()。

环境变量

VISION_ENDPOINT=https://<resource>.cognitiveservices.azure.com/ VISION_KEY=<your-api-key>

适用场景

Java 后端服务或工具中集成图像理解能力,例如自动生成图片说明、扫描件与截图文字提取、内容标签化、目标与人物定位、按比例生成智能缩略图等。

图像要求与限制

  • 格式:JPEG、PNG、GIF、BMP、WEBP、ICO、TIFF、MPO。
  • 大小:小于 20 MB。
  • 尺寸:50x50 至 16000x16000 像素。
  • 区域可用性:Caption 与 Dense Captions 需要支持 GPU 的区域,部署前需确认支持区域。
  • 仅当任务明确匹配上述范围时使用;输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。

(注:资料未提供收费、价格与具体调用配额等信息,暂未提供。)