快速入门:在计算机视觉中使用 REST API 和 PHP 识别特定于域的内容

在本快速入门中,你将通过计算机视觉的 REST API 使用域模型识别远程存储图像中的地标或者名人。 使用识别域特定内容方法,可以应用一个特定于域的模型来识别图像中的内容。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

  • 必须安装有 PHP
  • 必须安装有 Pear
  • 必须具有计算机视觉的订阅密钥。 你可以按照创建认知服务帐户中的说明订阅计算机视觉并获取密钥。

创建并运行示例

要创建和运行示例,请执行以下步骤:

  1. 安装 PHP5 HTTP_Request2 包。

    1. 以管理员身份打开命令提示符窗口。

    2. 运行以下命令:

      pear install HTTP_Request2
      
    3. 包安装成功后,关闭命令提示符窗口。

  2. 将以下代码复制到文本编辑器中。

  3. 必要时在代码中进行如下更改:

    1. subscriptionKey 的值替换为你的订阅密钥。
    2. 如有必要,请将 uriBase 的值替换为获取的订阅密钥所在的 Azure 区域中的识别域特定内容方法的终结点 URL。
    3. (可选)将 imageUrl 的值替换为要分析的其他图像的 URL。
    4. (可选)如果要使用 celebrities 域模型而不是 landmarks 域模型,请将 domain 请求参数的值替换为 celebrites
  4. 将代码保存为以 .php 为扩展名的文件。 例如,use-domain-model.php

  5. 打开具有 PHP 支持的浏览器窗口。

  6. 将文件拖放到浏览器窗口中。

<html>
<head>
    <title>Analyze Domain Model Sample</title>
</head>
<body>
<?php
// Replace <Subscription Key> with a valid subscription key.
$ocpApimSubscriptionKey = '<Subscription Key>';

$uriBase = 'https://api.cognitive.azure.cn/vision/v2.0/';

// Change 'landmarks' to 'celebrities' to use the Celebrities model.
$domain = 'landmarks';

$imageUrl =
    'https://upload.wikimedia.org/wikipedia/commons/2/23/Space_Needle_2011-07-04.jpg';

require_once 'HTTP/Request2.php';

$request = new Http_Request2($uriBase . 'models/' . $domain . '/analyze');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'Content-Type' => 'application/json',
    'Ocp-Apim-Subscription-Key' => $ocpApimSubscriptionKey
);
$request->setHeader($headers);

$parameters = array(
    // Request parameters
    'model' => $domain
);
$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_POST);

// Request body parameters
$body = json_encode(array('url' => $imageUrl));

// Request body
$request->setBody($body);

try
{
    $response = $request->send();
    echo "<pre>" .
        json_encode(json_decode($response->getBody()), JSON_PRETTY_PRINT) . "</pre>";
}
catch (HttpException $ex)
{
    echo "<pre>" . $ex . "</pre>";
}
?>
</body>
</html>

检查响应

成功的响应以 JSON 格式返回。 示例网站会在浏览器窗口中分析和显示成功响应,如下例所示:

{
    "result": {
        "landmarks": [
            {
                "name": "Space Needle",
                "confidence": 0.9998177886009216
            }
        ]
    },
    "requestId": "4d26587b-b2b9-408d-a70c-1f8121d84b0d",
    "metadata": {
        "height": 4132,
        "width": 2096,
        "format": "Jpeg"
    }
}

清理资源

不再需要文件时,请将其删除,然后卸载 PHP5 HTTP_Request2 包。 要卸载包,请执行以下步骤:

  1. 以管理员身份打开命令提示符窗口。

  2. 运行以下命令:

    pear uninstall HTTP_Request2
    
  3. 成功卸载包后,关闭命令提示符窗口。

后续步骤

了解计算机视觉 API,它用于分析图像、检测名人和地标、创建缩略图,并提取印刷体文本和手写文本。 要快速体验计算机视觉 API,请尝试使用 Open API 测试控制台