クイック スタート:Computer Vision の REST API と Python を使用したサムネイルを生成するQuickstart: Generate a thumbnail using the Computer Vision REST API and Python

このクイック スタートでは、Computer Vision の REST API を使って、画像からサムネイルを生成します。In this quickstart, you will generate a thumbnail from an image using Computer Vision's REST API. サムネイル取得メソッドでは、必要な高さと幅を指定できます。また、Computer Vision では、スマート トリミングを使ってインテリジェントに関心領域を識別し、その領域に基づいてトリミングの座標を生成します。With the Get Thumbnail method, you can specify the desired height and width, and Computer Vision uses smart cropping to intelligently identify the area of interest and generate cropping coordinates based on that region.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

サンプルの作成と実行Create and run the sample

サンプルを作成して実行するために、コード エディターに次のコードをコピーします。To create and run the sample, copy the following code into the code editor.

import requests
# If you are using a Jupyter notebook, uncomment the following line.
# %matplotlib inline
import matplotlib.pyplot as plt
from PIL import Image
from io import BytesIO

# Add your Computer Vision subscription key and endpoint to your environment variables.
if 'COMPUTER_VISION_SUBSCRIPTION_KEY' in os.environ:
    subscription_key = os.environ['COMPUTER_VISION_SUBSCRIPTION_KEY']
else:
    print("\nSet the COMPUTER_VISION_SUBSCRIPTION_KEY environment variable.\n**Restart your shell or IDE for changes to take effect.**")
    sys.exit()

if 'COMPUTER_VISION_ENDPOINT' in os.environ:
    endpoint = os.environ['COMPUTER_VISION_ENDPOINT']

thumbnail_url = endpoint + "vision/v2.0/generateThumbnail"

# Set image_url to the URL of an image that you want to analyze.
image_url = "https://upload.wikimedia.org/wikipedia/commons/9/94/Bloodhound_Puppy.jpg"

headers = {'Ocp-Apim-Subscription-Key': subscription_key}
params = {'width': '50', 'height': '50', 'smartCropping': 'true'}
data = {'url': image_url}
response = requests.post(thumbnail_url, headers=headers,
                         params=params, json=data)
response.raise_for_status()

thumbnail = Image.open(BytesIO(response.content))

# Display the thumbnail.
plt.imshow(thumbnail)
plt.axis("off")

# Verify the thumbnail size.
print("Thumbnail is {0}-by-{1}".format(*thumbnail.size))

続けて次の作業を行います。Next, do the following:

  1. 必要に応じて、サムネイルを生成する別のイメージの URL で image_url 値を置き換えます。Optionally, replace the value of image_url with the URL of a different image for which you want to generate a thumbnail.
  2. .py 拡張子のファイルとして、コードを保存します。Save the code as a file with an .py extension. たとえば、「 get-thumbnail.py 」のように入力します。For example, get-thumbnail.py.
  3. コマンド プロンプト ウィンドウを開きます。Open a command prompt window.
  4. プロンプトで、python コマンドを使用してサンプルを実行します。At the prompt, use the python command to run the sample. たとえば、「 python get-thumbnail.py 」のように入力します。For example, python get-thumbnail.py.

結果の確認Examine the response

成功応答は、サムネイル画像データを表すバイナリ データとして返されます。A successful response is returned as binary data which represents the image data for the thumbnail. この画像が表示されることが必要です。The sample should display this image. 要求が失敗した場合、応答がコマンド プロンプト ウィンドウに表示され、エラー コードが記録されている必要があります。If the request fails, the response is displayed in the command prompt window and should contain an error code.

Jupyter での実行 (任意)Run in Jupyter (optional)

このクイック スタートは、必要に応じて MyBinder 上で Jupyter Notebook を使い、ステップ バイ ステップで実行することができます。You can optionally run this quickstart in a step-by step fashion using a Jupyter notebook on MyBinder. Binder を起動するには、次のボタンを選択します。To launch Binder, select the following button:

BinderBinder

次の手順Next steps

この後は、サムネイル生成機能について詳しく学びましょう。Next, learn more detailed information about the thumbnail generation feature.