PHP를 통해 물체 감지를 위해 카메라를 호출하는 방법
카메라는 현대 생활에서 매우 흔해졌습니다. 카메라를 사용하여 다양한 작업을 수행할 수 있으며 그 중 하나가 객체 감지입니다. 이 기사에서는 PHP 언어를 사용하여 카메라를 호출하고 객체 감지를 수행하는 방법을 소개합니다.
시작하기 전에 PHP가 설치되어 있고 카메라를 사용할 수 있는지 확인해야 합니다. 다음은 객체 감지에 PHP를 사용하는 단계입니다.
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'); ?>
위 코드는 먼저 카메라를 호출하여 이미지를 얻고 이를 image.jpg
로 저장합니다. 그런 다음 OpenCV를 통해 이미지의 중앙 부분을 잘라서 cropped.jpg
로 저장합니다. 다음으로 php-faceDetect 라이브러리의 pico 얼굴 감지 프로그램을 호출하고 처리된 이미지를 입력으로 받아 얼굴 감지 결과를 face.txt
에 저장합니다. 마지막으로 얼굴 검출 결과를 파싱하여 원본 이미지에 얼굴 프레임을 그려 결과를 표시합니다. image.jpg
。然后,通过OpenCV裁剪图像的中心区域,保存为cropped.jpg
。接下来,调用php-facedetect库中的pico人脸检测程序,将处理后的图像作为输入,并将人脸检测结果保存到face.txt
。最后,解析人脸检测结果,并在原始图像上绘制人脸框,将结果显示出来。
detection.php
Detection.php
로 저장하고 터미널에서 다음 명령을 실행하세요. php detection.php
모든 것이 잘 실행되면 카메라가 이미지를 캡처하고 이미지에서 감지된 얼굴에 녹색 상자를 그립니다.
객체 감지를 위해 PHP를 통해 카메라를 호출하는 것은 흥미로운 기능입니다. 이 기사에서는 OpenCV와 php-faceDetect 라이브러리를 사용하여 이 기능을 구현하는 방법을 소개하고 얼굴을 감지하는 방법을 보여주는 샘플 코드를 제공합니다. 필요에 따라 다른 객체를 감지하도록 코드를 수정할 수 있습니다.
🎜이 샘플 코드는 완전하지 않으며 데모 목적으로만 사용됩니다. 실제 프로젝트에서는 정확한 객체 감지를 완료하려면 더 많은 논리와 알고리즘이 필요할 수 있습니다. 이 기사가 여러분에게 영감을 줄 수 있기를 바라며, 여러분의 성공을 기원합니다! 🎜위 내용은 PHP를 통해 객체 감지를 위해 카메라를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!