現在の位置: ホーム> 最新記事一覧> PHPのBaidu画像セグメンテーションインターフェイスに接続する方法は?

PHPのBaidu画像セグメンテーションインターフェイスに接続する方法は?

gitbox 2025-06-07

1。序文

ディープラーニングは近年、人気のある研究分野であり、その中には、重要なアプリケーションの1つとしての画像セグメンテーションが広範囲にわたる注目を集めています。 Baiduが提供する画像セグメンテーションAPIにより、開発者はアルゴリズムの実装プロセスを簡素化し、画像セグメンテーションテクノロジーを迅速に経験して学習できます。

この記事では、PHPを使用してBaidu画像セグメンテーションインターフェイスを呼び出して、画像ターゲットの自動セグメンテーションを実現する方法を紹介します。読者はすでに基本的なPHPおよびHTTPリクエスト関連の知識を持っていると仮定します。

2。Baidu画像セグメンテーションインターフェイスの紹介

Baidu画像セグメンテーションインターフェイスは、インテリジェントな画像セグメンテーションサービスを提供するAPIです。ユーザーが画像を提出すると、インターフェイスは画像内の異なるターゲットを自動的に分離し、対応するマスクデータを返します。 PNGやJSONなどのさまざまな出力形式をサポートしています。

2.1インターフェイスアドレス

Baidu画像セグメンテーションインターフェイスのリクエストアドレスは次のとおりです。

 https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg

2.2インターフェイスパラメーター

パラメータータイプ必要ですか説明します
Access_tokenはいOAUTH2.0承認を介して取得したアクセストークン。
画像はい画像のBase64エンコードされた文字列は、PNG、JPEG、およびBMP形式をサポートしており、サイズは4MBを超えません。
タイプいいえ結果形式、サポートされた値を返します:フォアグラウンド(デフォルト)、バックグラウンド、スコア。
しきい値フロートいいえ0-1の範囲のセグメンテーションしきい値は、切り取った面積の割合を示し、デフォルトは0.5です。

2.3インターフェイスリターンフォーマット

フィールドタイプ説明します
前景Base64エンコードされた画像は、セグメント化された見込み客ターゲットです。
背景バックグラウンドパーツのbase64エンコード画像。
スコアフロートセグメンテーション結果の信頼性スコア。

3。PHPは、Baidu画像セグメンテーションインターフェイスを呼び出します

3.1アクセストークンを取得します

インターフェイスを呼び出す前に、Baidu Developerプラットフォームが提供するアクセストークンを取得する必要があります。特定の手順については、Baiduの公式文書を参照してください。

$ access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX

3.2 HTTPリクエストの送信例

PHPの組み込みのCurl拡張子を使用して、Baidu画像セグメンテーションインターフェイスにPOSTリクエストを送信し、JSON形式で応答データを取得します。

$ url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg';
$ image = '/path/to/image.jpg';
$ type = 'Foreground';
$しきい値= 0.5;
<p>$ data = array(<br>
&#39;Access_token&#39; => $ access_token、<br>
&#39;image&#39; => base64_encode(file_get_contents($ image))、<br>
「タイプ」=> $タイプ、<br>
「しきい値」=> $しきい値、<br>
);</p>
<p>$ options = array(<br>
curlopt_returntransfer => true、<br>
curlopt_post => true、<br>
curlopt_postfields => $ data、<br>
);</p>
<p>$ ch = curl_init($ url);<br>
curl_setopt_array($ ch、$ options);<br>
$ result = curl_exec($ ch);<br>
curl_close($ ch);<br>

コード説明:

  • ローカル画像コンテンツとbase64エンコードをインターフェイスパラメーターとして読み取ります。
  • Curlを介して投稿リクエストを送信すると、返されたJSONデータが$ result変数に保存されます。
  • json_decode()を使用して、返されたデータを解析して特定のコンテンツを取得できます。

3.3解析と結果の返却、および写真の保存

返されたJSONデータでは、フィールドフォアグラウンドはセグメント化されたターゲット画像であり、base64エンコーディング形式はです。デコードしてローカルファイルとして保存できます。

$ result_arr = json_decode($ result、true);
if(isset($ result_arr [&#39;forground&#39;])){
    $ base64_image = $ result_arr [&#39;forground&#39;];
    $ image_data = base64_decode($ base64_image);
    file_put_contents( &#39;/path/to/foreground.png&#39;、$ image_data);
}

バックグラウンドまたは信頼レベルを取得する必要がある場合は、タイプパラメーターを背景に調整したり、対応するフィールドをスコア付けして処理したりできます。

4。概要

この記事では、PHPがBaiduの画像セグメンテーションインターフェイスにすばやく接続する方法を紹介し、インターフェイスパラメーター、要求プロセス、および結果分析を詳細に説明し、開発者が画像セグメンテーション機能を簡単に実現できるようにします。コードは、実際のニーズに応じて拡張し、より多くの画像処理シナリオに適用できます。