Heim > Artikel > Backend-Entwicklung > So rufen Sie die Kamera zur Objekterkennung über PHP auf
So rufen Sie die Kamera zur Objekterkennung über PHP auf
Kameras sind im modernen Leben weit verbreitet. Mit Kameras können wir verschiedene Vorgänge ausführen, darunter die Objekterkennung. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache die Kamera aufrufen und eine Objekterkennung durchführen.
Bevor wir beginnen, müssen wir sicherstellen, dass PHP installiert ist und die Kamera verwendet werden kann. Im Folgenden sind die Schritte aufgeführt, um PHP zur Objekterkennung zu verwenden:
sudo apt-get install python-opencv sudo apt-get install unzip wget https://github.com/nenadmarkus/pico cd pico unzip master.zip cd /path/to/php-facedetect-master
<?php // 调用摄像头 exec('fswebcam -d /dev/video0 -r 1280x720 --no-banner image.jpg'); // 加载图片 $image = imagecreatefromjpeg('image.jpg'); // 设置参数 $scale = 4; $w = imagesx($image) / $scale; $h = imagesy($image) / $scale; $size = min($w, $h); $x = (imagesx($image) - $size) / 2; $y = (imagesy($image) - $size) / 2; // 裁剪图片 $croppedImage = imagecrop($image, ['x' => $x, 'y' => $y, 'width' => $size, 'height' => $size]); // 保存裁剪后的图片 imagejpeg($croppedImage, 'cropped.jpg'); // 调用pico人脸检测库 exec('pico/picornt cropped.jpg face.txt'); // 解析人脸检测结果 $faceTxt = file_get_contents('face.txt'); $faceTxt = explode(" ", $faceTxt); $faceCount = count($faceTxt); // 在原始图像上绘制检测到的人脸框 for ($i = 0; $i < $faceCount - 1; $i++) { $faceData = explode(" ", $faceTxt[$i]); $x = $faceData[0] * $scale; $y = $faceData[1] * $scale; $width = $faceData[2] * $scale; $height = $faceData[3] * $scale; imagerectangle($image, $x, $y, $x + $width, $y + $height, imagecolorallocate($image, 0, 255, 0)); } // 显示图像 header("Content-Type: image/jpeg"); imagejpeg($image); // 删除临时文件 unlink('image.jpg'); unlink('cropped.jpg'); unlink('face.txt'); ?>
Der obige Code ruft zunächst die Kamera auf, um ein Bild zu erhalten, und speichert es als image.jpg
. Schneiden Sie dann den zentralen Bereich des Bildes über OpenCV zu und speichern Sie ihn als cropped.jpg
. Rufen Sie als Nächstes das Pico-Gesichtserkennungsprogramm in der PHP-Facedetect-Bibliothek auf, nehmen Sie das verarbeitete Bild als Eingabe und speichern Sie die Gesichtserkennungsergebnisse in face.txt
. Abschließend werden die Gesichtserkennungsergebnisse analysiert, der Gesichtsrahmen auf dem Originalbild gezeichnet und die Ergebnisse angezeigt. image.jpg
。然后,通过OpenCV裁剪图像的中心区域,保存为cropped.jpg
。接下来,调用php-facedetect库中的pico人脸检测程序,将处理后的图像作为输入,并将人脸检测结果保存到face.txt
。最后,解析人脸检测结果,并在原始图像上绘制人脸框,将结果显示出来。
detection.php
detection.php
und führen Sie den folgenden Befehl im Terminal aus: php detection.php
Wenn alles gut läuft, werden Sie es tun sehen können Die Kamera erfasst das Bild und zeichnet grüne Kästchen auf die im Bild erkannten Gesichter.
Der Aufruf der Kamera über PHP zur Objekterkennung ist eine interessante Funktion. In diesem Artikel stellen wir vor, wie Sie OpenCV und die PHP-Facedetect-Bibliothek verwenden, um diese Funktionalität zu erreichen, und stellen einen Beispielcode zur Verfügung, um zu demonstrieren, wie Gesichter erkannt werden. Sie können den Code ändern, um bei Bedarf andere Objekte zu erkennen.
🎜Bitte beachten Sie, dass dieser Beispielcode nicht vollständig ist und nur zu Demonstrationszwecken dient. In tatsächlichen Projekten benötigen Sie möglicherweise mehr Logik und Algorithmen, um eine genaue Objekterkennung durchzuführen. Ich hoffe, dieser Artikel kann Sie inspirieren und wünsche Ihnen viel Erfolg! 🎜Das obige ist der detaillierte Inhalt vonSo rufen Sie die Kamera zur Objekterkennung über PHP auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!