ホームページ  >  記事  >  バックエンド開発  >  PHP と OpenCV ライブラリを使用してターゲット追跡を実装するにはどうすればよいですか?

PHP と OpenCV ライブラリを使用してターゲット追跡を実装するにはどうすればよいですか?

王林
王林オリジナル
2023-07-17 12:45:46809ブラウズ

PHP および OpenCV ライブラリを使用してターゲット追跡を実装するにはどうすればよいですか?

オブジェクト追跡はコンピュータ ビジョンにおける重要な問題であり、連続画像シーケンス内の対象オブジェクトの識別と追跡が含まれます。この記事では、PHP と OpenCV ライブラリを使用してオブジェクト トラッキングを実装する方法について説明し、いくつかのコード例を示します。

  1. PHP および OpenCV ライブラリのインストール

まず、PHP と対応する OpenCV 拡張ライブラリをインストールする必要があります。ターミナルまたはコマンド ラインで次のコマンドを実行することで、関連するライブラリをインストールできます。

sudo apt-get install php
sudo apt-get install php-dev
sudo apt-get install pkg-config
sudo apt-get install libopencv-dev
sudo apt-get install libphp-embed
  1. PHP 構成ファイルを設定します

インストールが完了したら、次のコマンドを実行する必要があります。ファイル内で PHP Enable OpenCV 拡張機能を設定します。 php.ini ファイルを見つけてテキスト エディタで開き、次の行を見つけてコメントを解除します。

;extension=opencv.so

これを次のように変更します。

extension=opencv.so

ファイルを保存して閉じた後、次のことが必要です。変更を有効にするために PHP を再起動します。

  1. PHP スクリプト ファイルの作成

次に、ターゲット追跡を実装するための PHP スクリプトを作成します。まず、OpenCV ライブラリをインポートする必要があります。

<?php
  // 导入OpenCV库
  opencv_import();
?>
  1. 画像とターゲット テンプレートをロード

ターゲット追跡の前に、追跡する画像とターゲット テンプレートをロードする必要があります。 。イメージとターゲット テンプレートをロードするためのサンプル コードは次のとおりです。

<?php
  // 加载图像
  $image = opencv_load_image('path/to/image.jpg');

  // 加载目标模板
  $template = opencv_load_image('path/to/template.jpg');
?>
  1. ターゲット トラッキングの実行

イメージとターゲット テンプレートをロードしたら、実行します。ターゲット追跡。以下は、OpenCV ライブラリを使用してターゲット追跡を実装するサンプル コードです。

<?php
  // 执行目标跟踪
  $result = opencv_match_template($image, $template, CV_TM_CCOEFF_NORMED);

  // 标记目标位置
  $min_val;
  $max_val;
  $min_loc;
  $max_loc;
  opencv_min_max_loc($result, $min_val, $max_val, $min_loc, $max_loc);

  // 绘制目标边界框
  $top_left = $max_loc;
  $bottom_right = [$max_loc[0] + $template->width, $max_loc[1] + $template->height];
  opencv_rectangle($image, $top_left, $bottom_right, [0, 255, 0], 2);

  // 显示结果图像
  opencv_show_image($image);

  // 释放内存
  opencv_release_image($image);
  opencv_release_image($template);
  opencv_release_image($result);
?>

上記のコードは、OpenCV 関数 opencv_match_template を使用してターゲット追跡を実行し、opencv_min_max_loc 一致する最上位の位置を見つける関数。次に、opencv_rectangle 関数を使用してターゲットの境界ボックスを描画し、opencv_show_image 関数を使用して結果のイメージを表示します。最後に、メモリ リークを避けるためにメモリを解放する必要があります。

概要:

この記事では、PHP および OpenCV ライブラリを使用してターゲット追跡を実装する方法を紹介します。 PHP および OpenCV ライブラリをインストールする手順について説明し、画像とターゲット テンプレートをロードし、ターゲット追跡を実行する方法を示すいくつかの PHP コード例を提供しました。この記事がお役に立てば幸いです!

以上がPHP と OpenCV ライブラリを使用してターゲット追跡を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。