你当前正在访问 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 对品牌所有者或其产品的认可。
若要对一组图像运行图像拼结操作,请执行以下步骤:
将要拼结到一起的图像上传到 Blob 存储容器,并获取每个图像的绝对 URL。 一次最多可以拼结 10 张图像。
将以下
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>', ... ] }"
必要时在命令中进行如下更改:
- 将
<subscriptionKey>
的值替换为视觉资源密钥。 - 将
<endpoint>
的值替换为视觉资源终结点。 例如:https://YourResourceName.cognitiveservices.azure.com
。 - 将
<your_url_string>
内容替换为图像的 Blob URL。 应该根据图像显示的物理空间从左到右、从上到下将图像排序。 - 将
<your_filename>
替换为要从中获取结果的文件的名称和扩展名(例如download.jpg
)。
- 将
打开命令提示符窗口。
将文本编辑器中编辑的
curl
命令粘贴到命令提示符窗口,然后运行命令。
检查拼结响应
该 API 返回 200
响应,新文件将下载到指定的位置。
使用纠正 API
完成拼结操作后,我们建议执行纠正操作以获得最佳分析结果。
注意
图像中显示的品牌不属于 Microsoft,不表示品牌所有者对 Microsoft 或 Microsoft 产品任何形式的认可,也不表示 Microsoft 对品牌所有者或其产品的认可。
若要纠正合成图像中的透视失真,请执行以下步骤:
将要纠正的图像上传到 Blob 存储容器,并获取绝对 URL。
将以下
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 } } }"
必要时在命令中进行如下更改:
将
<subscriptionKey>
的值替换为视觉资源密钥。将
<endpoint>
的值替换为视觉资源终结点。 例如:https://YourResourceName.cognitiveservices.azure.com
。将
<your_url_string>
替换为图像的 Blob 存储 URL。替换请求正文中的四个控制点坐标。 X 是横轴坐标,Y 是纵轴坐标。 坐标已规范化,例如 0.5,0.5 表示图像的中点,1,1 表示右下角。 设置坐标以定义图像中显示的货架的四个角。
将
<your_filename>
替换为要从中获取结果的文件的名称和扩展名(例如download.jpg
)。
打开命令提示符窗口。
将文本编辑器中编辑的
curl
命令粘贴到命令提示符窗口,然后运行命令。
检查纠正响应
该 API 返回 200
响应,新文件将下载到指定的位置。
后续步骤
在本指南中,你已了解如何准备货架照片以供分析。 接下来,请调用产品理解 API 获取分析结果。