PHP mengendalikan kamera untuk penjejakan gerakan masa nyata: langkah terperinci

WBOY
Lepaskan: 2023-08-02 10:58:02
asal
1482 orang telah melayarinya

Kamera pengendalian PHP untuk penjejakan tindakan masa nyata: langkah terperinci

Kamera adalah salah satu peranti penting dalam bidang sains komputer moden Ia boleh menangkap imej dalam kehidupan kita dan melaksanakan pelbagai fungsi melalui pemprosesan komputer. PHP ialah bahasa back-end yang digunakan secara meluas dalam pembangunan web PHP juga boleh digunakan untuk mengendalikan kamera untuk penjejakan gerakan masa nyata. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk operasi kamera dan menggunakannya untuk penjejakan gerakan masa nyata.

1 Pasang perisian yang diperlukan
Untuk menggunakan PHP untuk operasi kamera, anda perlu memasang beberapa perisian yang diperlukan. Pada sistem Windows, anda boleh memasang "AmCap", alat penyahpepijatan kamera percuma. Pada sistem Linux, pakej "gstreamer" boleh dipasang melalui baris arahan.

2. Dapatkan ID peranti kamera
Sebelum mengendalikan kamera, anda perlu mendapatkan ID peranti kamera terlebih dahulu. Pada sistem Windows, anda boleh membuka "Pengurus Peranti" dan mencari serta mengembangkan pilihan "Kamera". Pada sistem Linux, anda boleh menggunakan arahan "ls /dev/video*" untuk melihat ID peranti kamera.

3 Buka dan paparkan imej kamera
Dalam PHP, anda boleh membuka dan memaparkan imej kamera dengan memanggil arahan sistem. Berikut ialah contoh kod:

<?php
$deviceID = 0; // 摄像头设备ID
$cmd = "AmCap /c".$deviceID; // Windows系统下使用AmCap软件
//$cmd = "gst-launch-1.0 v4l2src device=/dev/video".$deviceID." ! video/x-raw,width=640,height=480 ! autovideosink"; // Linux系统下使用gstreamer软件

exec($cmd);
?>
Salin selepas log masuk

Simpan kod di atas sebagai fail .php, kemudian akses fail dalam pelayar anda untuk membuka dan memaparkan imej kamera.

4. Penjejakan gerakan masa nyata
Selepas membuka dan memaparkan imej kamera, anda boleh memulakan penjejakan gerakan masa nyata. Langkah ini memerlukan penggunaan perpustakaan pemprosesan imej untuk mengecam dan menjejak gerakan. Berikut ialah contoh kod yang menggunakan perpustakaan OpenCv untuk penjejakan gerakan masa nyata:

<?php
$deviceID = 0; // 摄像头设备ID
$cmd = "AmCap /c".$deviceID; // Windows系统下使用AmCap软件
//$cmd = "gst-launch-1.0 v4l2src device=/dev/video".$deviceID." ! video/x-raw,width=640,height=480 ! autovideosink"; // Linux系统下使用gstreamer软件

exec($cmd);

// 安装和加载OpenCv库
exec("sudo apt-get install -y php7.4-opencv");
extension_loaded('opencv') or die('skip opencv extension not available');

// 创建一个新的OpenCv图像对象
$image = new OpenCVImage();

while (true) {
  // 从摄像头中获取图像帧
  $frame = $image->captureFromCAM($deviceID);

  // 应用动作跟踪算法并显示结果
  $result = $frame->actionTracking();

  // 在浏览器中显示结果图像
  $result->showImage();

  // 检测是否按下了“ESC”键,如果是则退出程序
  if (cvWaitKey(1) == 27) {
    break;
  }
}

// 释放资源
$image->close();
$result->close();
?>
Salin selepas log masuk

Kod di atas menggambarkan cara menggunakan perpustakaan OpenCv untuk penjejakan gerakan masa nyata. Sebelum menjalankan kod ini, anda perlu memasang pustaka OpenCv terlebih dahulu dan pastikan ID peranti kamera adalah betul.

Melalui langkah di atas, kita boleh menggunakan PHP untuk mengendalikan kamera bagi penjejakan gerakan masa nyata. Ini memberikan kemudahan yang hebat untuk kami melaksanakan fungsi seperti pengecaman muka dan pemantauan gerakan dalam aplikasi web. Saya harap pengenalan dalam artikel ini dapat membantu anda!

Atas ialah kandungan terperinci PHP mengendalikan kamera untuk penjejakan gerakan masa nyata: langkah terperinci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!