0

我正在使用 Azure Microsoft 自定义视觉。我已经创建了我的算法,我现在需要的是我的预测图像的 URL。我知道我可以使用Training API (get_tagged_images) 中编写的方法获取训练图像,但现在我正在尝试获取预测图像的 URL。在Prediction API中,没有 getter。

如果我在 Azure 自定义视觉门户中检查预测图像,我可以找到 blob URL,但我无法通过方法获取该 URL。

如何获取预测的图像 URL?

4

2 回答 2

0

这些图像可通过QueryPredictions培训 API 中的 API 获得。

REST 文档在这里

Python 文档在这里

您的代码可能如下所示:

from azure.cognitiveservices.vision.customvision.training import CustomVisionTrainingClient
from azure.cognitiveservices.vision.customvision.training.models import PredictionQueryToken

# Set your region
endpoint = 'https://<your region>.api.cognitive.microsoft.com'

# Set your Training API key
training_key = '<your training key>'

# Set your Project ID
project_id = '<your project id>'

# Query the stored prediction images
trainer = CustomVisionTrainingClient(training_key, endpoint=endpoint)
token = PredictionQueryToken()
response = trainer.query_predictions(project_id, token)

# Get the image URLs, for example
urls = [result.original_image_uri for result in response.results]
于 2019-07-12T04:12:47.607 回答
0

您描述中的API参考链接似乎不正确。Azure Microsoft Custom Vision APIs有几个版本,如下图,可以参考https://<your region, such as southcentralus>.dev.cognitive.microsoft.com/docs/services/?page=2查看,获取训练图像的API属于训练阶段。

在此处输入图像描述

因此,如果您想获取训练图像的 url,首先您需要找出您现在使用的 Custom Vision Training 的版本。据我所知,您可以在 Azure 门户上订阅的Overview&选项卡中查看版本信息。Quick start例如,我的自定义视觉1.0如下图所示。

图 1.Overview选项卡

在此处输入图像描述

图 2.Quick start选项卡,点击API reference查看与版本相关的文档

在此处输入图像描述

所以我可以看到有三个 API 可以满足您的需求,如下图所示。

在此处输入图像描述

GetAllTaggedImages这是我通过(v1.0)列出所有标记图像的示例代码。

import requests

projectId = "<your project id from project settings of Cognitive portal>"
endpoint = f"https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Training/projects/{projectId}/images/tagged/all"
print(endpoint)

headers = {
    'Training-key': '<key from keys tab of Azure portal or project settings of Cognitive portal>',
}

resp = requests.get(endpoint, headers=headers)
print(resp.text)

import json
images = json.loads(resp.text)
image_urls = (image['ImageUri'] for image in images)
for image_url in image_urls:
    print(image_url)

希望能帮助到你。

于 2019-07-05T08:37:09.060 回答