ホームページ  >  記事  >  バックエンド開発  >  PHP が顔追跡用のカメラを制御: システム インテリジェンスのレベルを向上

PHP が顔追跡用のカメラを制御: システム インテリジェンスのレベルを向上

WBOY
WBOYオリジナル
2023-07-29 10:57:191244ブラウズ

PHP による顔追跡用のカメラの制御: システム インテリジェンスのレベルの向上

コンピュータ技術の進歩に伴い、人工知能技術の応用はますます普及しています。その中でも、顔追跡技術は、セキュリティ監視や人間とコンピュータのインタラクションなどの分野で重要な応用価値を持っています。この記事では、PHP を使用して顔追跡用のカメラを制御する方法を紹介し、関連するコード例を示します。

1. 準備
顔追跡を実行する前に、対応する環境とツールを準備する必要があります。

  1. OpenCV のインストール
    OpenCV は、顔認識と追跡に使用できるオープン ソースのコンピューター ビジョン ライブラリです。 Linux システムでは、次のコマンドを使用して OpenCV をインストールできます:

    $ sudo apt-get install python-opencv

    Windows システムでは、特定の状況に応じて、対応する OpenCV バージョンをダウンロードしてインストールすることを選択できます。

  2. PHP 拡張機能のインストール
    PHP は、OpenCV の使用をサポートするいくつかの拡張機能を提供します。最初にこれらの拡張機能をインストールする必要があります。次のコマンドを使用して Linux システムに PHP 拡張機能をインストールできます:

    $ sudo apt-get install php7.2-dev
    $ sudo apt-get install php-pear
    $ sudo pecl install opencv

    Windows システムでは、PHP 公式 Web サイトから対応する拡張機能をダウンロードし、指示に従ってインストールできます。

2. 顔追跡コードの例

次に、顔追跡に OpenCV を使用する方法を示す簡単な PHP コード例を提供します。

<?php
// 导入OpenCV扩展
extension_loaded('opencv') || dl('opencv.so');

// 创建视频捕捉对象
$videoCapture = cvCreateCameraCapture(0);

// 创建窗口
cvNamedWindow("人脸追踪");

// 循环读取视频帧并进行人脸追踪
while (true) {
    // 读取一帧图像
    $frame = cvQueryFrame($videoCapture);

    // 将图像转为灰度图像
    $grayFrame = cvCreateImage(cvGetSize($frame), CV_8UC1, 1);
    cvCvtColor($frame, $grayFrame, CV_BGR2GRAY);

    // 使用Haar级联分类器进行人脸检测
    $cascade = cvLoadHaarClassifierCascade('haarcascade_frontalface_default.xml');
    $objects = cvHaarDetectObjects($grayFrame, $cascade, cvCreateMemStorage(), 1.1, 3, 0);

    // 标记检测到的人脸
    foreach ($objects as $rect) {
        cvRectangle($frame, $rect->x() , $rect->y(), $rect->x() + $rect->width(), $rect->y() + $rect->height(), CV_RGB(255, 0, 0));
    }

    // 显示图像
    cvShowImage("人脸追踪", $frame);

    // 等待按下ESC键退出程序
    if (cvWaitKey(1) === 27) {
        break;
    }
}

// 释放资源
cvReleaseCapture($videoCapture);
cvDestroyAllWindows();

上記のコードは、ビデオ キャプチャ オブジェクトを作成し、ビデオ フレームを読み取ってグレースケール画像に変換し、Haar カスケード分類器を使用して顔検出を実行し、検出された顔領域をマークします。画像が表示されます。 ESC キーを押すとプログラムを終了できます。

3. 概要
この記事では、PHP を使用して顔追跡用のカメラを制御する方法を紹介し、関連するコード例を示します。 OpenCV と PHP 拡張機能を使用することで、顔追跡機能を簡単に実装し、システムのインテリジェンス レベルを向上させることができます。この記事が関連プロジェクトの開発に役立つことを願っています。

以上がPHP が顔追跡用のカメラを制御: システム インテリジェンスのレベルを向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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