你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

货架图像合成(预览版)

重要

此功能现已弃用。 2025 年 1 月 10 日,Azure AI 图像分析 4.0 自定义图像分类、自定义对象检测和产品识别预览 API 将停用。 该日期之后,对这些服务的 API 调用会失败。

要确保模型顺利运行,请转换到现已正式发布的 Azure AI 自定义视觉。 自定义视觉可提供与这些即将停用的功能相似的功能。

产品识别工作流的一个环节涉及到修复和修改输入图像,使服务可以正确执行。

本指南介绍如何使用拼结 API 组合同一物理货架的多张图像:这样可以提供整个零售货架的合成图像,即使多个不同的摄像头只捕捉到了该货架的一部分。

本指南还将介绍在拼结不同图像时如何使用纠正 API 纠正透视失真。

先决条件

  • Azure 订阅 - 免费创建订阅
  • 获取 Azure 订阅后,请在 Azure 门户中创建视觉资源。 它必须部署在受支持的 Azure 区域中(请参阅区域可用性)。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 Azure AI 视觉服务。 你稍后会在快速入门中将密钥和终结点粘贴到下方的代码中。
  • 一个具有 Blob 存储容器的 Azure 存储资源。 创建一个
  • 已安装 cURL。 或者,可以使用其他 REST 平台,例如 Swagger 或 VS Code 的 REST 客户端扩展。
  • 一组展示了同一货架相邻部分的照片。 建议图像相互之间重叠一半的面积。 可以从 GitHub 下载并使用“未拼结的”示例图像。

使用拼结 API

拼结 API 可以组合同一物理货架的多个图像。

三张货架照片,旁边是它们的合成照片。

注意

图像中显示的品牌不属于 Microsoft,不表示品牌所有者对 Microsoft 或 Microsoft 产品任何形式的认可,也不表示 Microsoft 对品牌所有者或其产品的认可。

若要对一组图像运行图像拼结操作,请执行以下步骤:

  1. 将要拼结到一起的图像上传到 Blob 存储容器,并获取每个图像的绝对 URL。 一次最多可以拼结 10 张图像。

  2. 将以下 curl 命令复制到文本编辑器中。

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/imagecomposition:stitch?api-version=2023-04-01-preview" --output <your_filename> -d "{
        'images': [
            '<your_url_string_>',
            '<your_url_string_2>',
            ...
        ]
    }"
    
  3. 必要时在命令中进行如下更改:

    1. <subscriptionKey> 的值替换为视觉资源密钥。
    2. <endpoint> 的值替换为视觉资源终结点。 例如:https://YourResourceName.cognitiveservices.azure.com
    3. <your_url_string> 内容替换为图像的 Blob URL。 应该根据图像显示的物理空间从左到右、从上到下将图像排序。
    4. <your_filename> 替换为要从中获取结果的文件的名称和扩展名(例如 download.jpg)。
  4. 打开命令提示符窗口。

  5. 将文本编辑器中编辑的 curl 命令粘贴到命令提示符窗口,然后运行命令。

检查拼结响应

该 API 返回 200 响应,新文件将下载到指定的位置。

使用纠正 API

完成拼结操作后,我们建议执行纠正操作以获得最佳分析结果。

执行纠正操作前后的零售货架照片。

注意

图像中显示的品牌不属于 Microsoft,不表示品牌所有者对 Microsoft 或 Microsoft 产品任何形式的认可,也不表示 Microsoft 对品牌所有者或其产品的认可。

若要纠正合成图像中的透视失真,请执行以下步骤:

  1. 将要纠正的图像上传到 Blob 存储容器,并获取绝对 URL。

  2. 将以下 curl 命令复制到文本编辑器中。

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/imagecomposition:rectify?api-version=2023-04-01-preview" --output <your_filename> -d "{
      'url': '<your_url_string>',
      'controlPoints': {
        'topLeft': {
          'x': 0.1,
          'y': 0.1
        },
        'topRight': {
          'x': 0.2,
          'y': 0.2
        },
        'bottomLeft': {
          'x': 0.3,
          'y': 0.3
        },
        'bottomRight': {
          'x': 0.4,
          'y': 0.4
        }
      }
    }"
    
  3. 必要时在命令中进行如下更改:

    1. <subscriptionKey> 的值替换为视觉资源密钥。

    2. <endpoint> 的值替换为视觉资源终结点。 例如:https://YourResourceName.cognitiveservices.azure.com

    3. <your_url_string> 替换为图像的 Blob 存储 URL。

    4. 替换请求正文中的四个控制点坐标。 X 是横轴坐标,Y 是纵轴坐标。 坐标已规范化,例如 0.5,0.5 表示图像的中点,1,1 表示右下角。 设置坐标以定义图像中显示的货架的四个角。

      货架的照片,其四个角用方框突出显示。

    5. <your_filename> 替换为要从中获取结果的文件的名称和扩展名(例如 download.jpg)。

  4. 打开命令提示符窗口。

  5. 将文本编辑器中编辑的 curl 命令粘贴到命令提示符窗口,然后运行命令。

检查纠正响应

该 API 返回 200 响应,新文件将下载到指定的位置。

后续步骤

在本指南中,你已了解如何准备货架照片以供分析。 接下来,请调用产品理解 API 获取分析结果。