Pillow Python ライブラリの「draw_vertices」関数を使用してオブジェクトの境界線を描画するときに画像に表示テキストを追加するには、段階的なプロセスに従うことができます。このプロセスには、Google Vision API から検出されたオブジェクトの頂点を取得し、その頂点を使用してオブジェクトの境界線を描画し、最後に表示テキストを画像に追加することが含まれます。
1. 検出されたオブジェクトの頂点を取得します。
– Google Vision API を利用して画像内のオブジェクトを検出します。
– API 応答から検出された各オブジェクトの頂点を抽出します。頂点は、オブジェクトを囲む境界ボックスの 4 つの角を表します。
2. 頂点を使用してオブジェクトの境界線を描画します。
– Python の Pillow ライブラリを使用して画像を読み込みます。
– Pillow ライブラリから ImageDraw モジュールのインスタンスを作成します。
– 各オブジェクトの頂点を反復処理し、ImageDraw モジュールの「draw.rectangle」関数を使用して四角形を描画します。
– 「draw.rectangle」関数は、引数として長方形の左上隅と右下隅の座標を受け取ります。
3. 表示テキストを画像に追加します。
– ImageDraw モジュールの別のインスタンスを作成します。
– 各オブジェクトの頂点を反復処理し、ImageDraw モジュールの「draw.text」関数を使用して表示テキストを追加します。
– 「draw.text」関数は、テキスト位置の座標とテキスト文字列を引数として受け取ります。
– 「draw.text」関数で追加パラメータを指定することで、テキストのフォント、サイズ、色、その他のプロパティをカスタマイズできます。
上記のプロセスを示すコード スニペットの例を次に示します。
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
この例では、オブジェクトの頂点が Google Vision API からすでに取得されていることを前提としています。次に、Pillow ライブラリを使用して画像を読み込み、頂点を使用してオブジェクトの境界線を描画し、各オブジェクトの上に表示テキストを追加します。
フォント、フォント サイズ、テキストの色など、特定の要件に応じてコードを必ず調整してください。
その他の最近の質問と回答 枕Pythonライブラリを使用してオブジェクトの境界線を描画する:
- Google Vision API は、画像ではなく動画内のピロー Python ライブラリを使用してオブジェクトの検出とラベル付けに適用できますか?
- 画像やビデオ内の動物の周囲にオブジェクトの境界線を描画し、これらの境界線に特定の動物の名前を付ける方法を実装するにはどうすればよいですか?
- 提供されたコードの「draw.line」メソッドのパラメーターは何ですか?また、それらは頂点値の間に線を描画するためにどのように使用されますか?
- Python でオブジェクトの境界線を描画するために枕ライブラリをどのように使用できますか?
- 提供されたコードの「draw_vertices」関数の目的は何ですか?
- Google Vision API は、画像内の形状やオブジェクトを理解するのにどのように役立ちますか?
その他の質問と回答:
- フィールド: Artificial Intelligence
- プログラム: EITC/AI/GVAPI Google Vision API (認定プログラムに進む)
- レッスン: 形や物を理解する (関連するレッスンに行く)
- トピック: 枕Pythonライブラリを使用してオブジェクトの境界線を描画する (関連トピックに移動)
- 試験の復習