如何从 Azure 中获取预测图像 URL?

How can I get predicted images URL from azure?

我正在使用 Azure Microsoft Custom Vision。 我已经创建了我的算法,现在我需要的是预测图像的 URL。 我知道我可以使用 Training API (get_tagged_images), but now I'm trying to get the URL of the prediction image. In the Prediction API 中编写的方法获取训练图像,没有吸气剂。

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

如何得到预测图像URL?

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

所以如果你想获取训练图片的url,首先你需要弄清楚你现在使用的Custom Vision Training是什么版本。据我所知,您可以在 Azure 门户上订阅的 OverviewQuick start 选项卡中查看版本信息。例如,我的自定义愿景是1.0,如下图。

图 1.Overview 选项卡

图2.Quick start标签,点击API reference查看其版本相关文件

所以我看到有3个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)

希望对您有所帮助。

图像可通过 QueryPredictions API 在训练 API 中获得。

REST 文档是 here

Python 文档是 here

您的代码可能如下所示:

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]