ポートレートセグメンテーションは、画像内の人物を背景から分離できるコンピュータービジョンの中核テクノロジーです。 Baidu は、開発者がこの機能を簡単に実装できるように、ポートレート セグメンテーション API を提供しています。この記事では、PHP 言語の例を通じて、Baidu Portrait Segmentation API に接続する方法を説明します。
まず、Baidu 開発者アカウントを登録し、新しいアプリケーションを作成して API 認証情報を取得する必要があります。 Baidu AI オープン プラットフォームにログインした後、コンソールに入り、「人工知能」を選択し、「ポートレート セグメンテーション」をクリックして管理ページに入ります。ここで、アプリケーションの API キーと秘密キーを表示できます。この情報は後続のコードで使用されます。
次に、IDE またはテキスト エディタを使用して、新しい PHP プロジェクトを作成します。プロジェクト ディレクトリに PHP ファイル ( portrait_segmentation.phpなど) を作成します。
Baidu AI SDK の依存関係ファイルを PHP ファイルの先頭に導入します。 SDK 圧縮パッケージをダウンロードして解凍し、 BDAAIフォルダーをプロジェクト ディレクトリにコピーし、 BDAAI/AipImageProcess.phpファイルをコードに導入します。コードは次のとおりです。
<?php require_once 'BDAAI/AipImageProcess.php'; ?>
次のコードを使用して、Baidu ポートレート セグメンテーション API クライアントとして新しいAipImageProcessオブジェクトを作成します。オブジェクトを作成するときは、アプリケーションの API キー、秘密キー、アクセス トークンを渡す必要があります。
//SDKの初期化 $appId = 'your_app_id'; $apiKey = 'your_api_key'; $secretKey = 'your_secret_key'; $client = 新しいしい BDAAIAipImageProcess($appId, $apiKey, $secretKey);
$clientオブジェクトを使用して、ポートレート セグメンテーション API を呼び出します。この例では、ローカル イメージtest.jpg を例として使用します。
//画像を読み込みます $image = file_get_contents('test.jpg'); // ポートレートセグメンテーション API を電話び外す $result = $client->bodySeg($image); // セグメンテーションの結果をローカルに保存 file_put_contents('result.png', $result);
上記のコードでは、最初にfile_get_contentsを使用してローカル画像ファイルを読み取り、次に$client->bodySeg($image)メソッドを通じて API を呼び出し、最後にfile_put_contents を使用して結果をresult.pngとして保存します。
コードの記述が完了したら、プロジェクト ディレクトリに切り替えて、ターミナルで次のコマンドを実行します。
phpportrait_segmentation.php
プログラムはポートレートのセグメンテーション操作を実行し、セグメンテーションの結果である新しい画像ファイルresult.pngを生成します。
この記事では、PHP を使用して、Baidu のポートレート セグメンテーション API とインターフェイスするサンプル プログラムを作成する完全なプロセスを示します。準備作業、プロジェクトの作成から API 呼び出し、プログラムの実行まで、開発者はポートレート セグメンテーションの基本操作をすぐに習得できます。 Baidu AI が提供する API により、画像処理やコンピュータ ビジョンの開発がより便利になります。