画像処理およびラベリングシステムでは、多くの場合、画像内の特定の領域にラベルを付ける必要があります。一般的な要件は、ポリゴンを描くことにより、関心のある領域にラベルを付けることです。強力なサーバー側のスクリプト言語として、PHPを使用してGDライブラリを介して画像を処理できます。 GDライブラリのImageOpenPolygon()関数は、ポリゴンを描画する機能を提供します。これは、画像にポリゴン注釈を実装するのに特に適しています。
この記事では、PHPでImageOpenPolygon()関数を使用してポリゴンアノテーションを実装する方法を示し、いくつかの実用的なアプリケーション手法を提供する例を示します。
まず、PHPのGDライブラリがインストールされ、有効になっていることを確認する必要があります。 GDライブラリをインストールしていない場合は、次のコマンドを介してインストールできます。
sudo apt-get install php-gd
次に、PHPスクリプトでGD拡張機能を有効にしてください。
<?php
phpinfo(); // 有効になっているかどうかを確認してくださいGD拡張
?>
次に、 ImageOpenPolygon()関数を使用して、単純な画像を作成し、ポリゴンを描画します。
<?php
// 新しい画像を作成します,背景は白です
$image = imagecreatetruecolor(500, 500);
$white = imagecolorallocate($image, 255, 255, 255); // 白い背景
$black = imagecolorallocate($image, 0, 0, 0); // 黒い塗装
// 填充背景は白です
imagefill($image, 0, 0, $white);
// ポリゴンの頂点座標
$polygon = [
100, 100, // 頂点1
400, 100, // 頂点2
400, 400, // 頂点3
100, 400 // 頂点4
];
// 使用imageopenpolygonポリゴンを描きます
imageopenpolygon($image, $polygon, count($polygon) / 2, $black);
// ブラウザに画像を出力します
header('Content-Type: image/png');
imagepng($image);
// 無料の画像メモリ
imagedestroy($image);
?>
画像を作成します。最初に、 ImageCreateTrueColor()関数を使用して、500x500ピクセルの画像を作成します。次に、 ImageColorAllocate()を使用して画像にカラーリソースを割り当て、それぞれ白い背景と黒の線を描画します。
ポリゴンの頂点を定義します。ポリゴンの頂点は、配列で定義されます。 $ polygonアレイには4つの頂点の座標が含まれており、各2つの数値はポイントのxおよびy座標を表します。
描画ポリゴン: ImageOpenPolygon()関数を使用してポリゴンを描きます。この関数の最初のパラメーターは画像リソース、2番目のパラメーターは頂点配列、3番目のパラメーターは頂点の数です(注:配列にはxおよびy座標が含まれているため、頂点の数は配列の長さの半分である必要があります)、4番目のパラメーターは描画色です。
出力画像:最後に、 ImagePng()を使用して画像をブラウザに出力し、応答ヘッダーを画像/PNGに設定して、ブラウザが画像を正しく解析して表示できるようにします。
実際のアプリケーションでは、ニーズに応じてポリゴンの形状と位置を調整できます。たとえば、ユーザーが入力した座標を生成して動的なポリゴン注釈を生成したり、データベースにデータを組み合わせて注釈を描画したりできます。たとえば、データベースから一連の座標を取得し、異なるポリゴンを生成して異なる領域にラベルを付けることができます。
さらに、テキストコメント、さまざまな色のラベルなど、より多くの要素を画像に追加できます。ImageOpenPolygon ()では、画像にエリアラベル機能を簡単に実装できます。
ImageOpenPolygon()関数は、画像アノテーションシステムに非常に適したPHPのGDライブラリにポリゴン図面を実装する便利な方法を提供します。この関数を柔軟に使用することにより、画像にカスタムアノテーションを追加して、より豊かで正確な画像マーキング関数を実現できます。