Rumah >pembangunan bahagian belakang >tutorial php >PHP memanggil kamera untuk mencapai analisis imej masa nyata: perkongsian tutorial mudah
PHP memanggil kamera untuk mencapai analisis imej masa nyata: perkongsian tutorial mudah
Dalam beberapa tahun kebelakangan ini, dengan perkembangan kecerdasan buatan, analisis imej masa nyata telah digunakan secara meluas dalam semua lapisan masyarakat. Untuk mencapai analisis imej masa nyata, kita perlu mendapatkan imej masa nyata daripada kamera. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil kamera dan menjalankan analisis ringkas imej masa nyata. Di bawah ialah langkah khusus dan contoh kod tutorial.
Langkah 1: Pasang perisian dan sambungan yang diperlukan
Pertama, kami perlu memasang beberapa perisian dan sambungan yang diperlukan. Mula-mula, pastikan anda telah memasang perkhidmatan PHP dan Apache supaya anda boleh menyediakan pelayan web mudah secara tempatan. Kedua, kita perlu memasang sambungan OpenCV untuk memanggil kamera dan memproses imej dalam PHP. Anda boleh memasang sambungan OpenCV melalui arahan berikut:
pecl install opencv
Langkah 2: Sambungkan kamera
Dalam PHP, kita perlu menyambung dan mengawal kamera melalui beberapa fungsi. Mula-mula, kita perlu mencipta objek kamera menggunakan fungsi cv.VideoCapture
. Sebagai contoh, jika anda ingin menyambungkan kamera lalai, anda boleh menggunakan kod berikut: cv.VideoCapture
函数创建一个摄像头对象。例如,如果你想连接默认的摄像头,可以使用以下代码:
$camera = new cvVideoCapture(0);
此外,如果你想连接其他索引号为1的摄像头,可以使用以下代码:
$camera = new cvVideoCapture(1);
步骤3:实时图像分析
一旦我们连接了摄像头,我们就可以实时获取摄像头的图像,并进行分析。以下是一个简单的示例,用于实时显示摄像头图像,并检测是否存在人脸。
while (true) { $frame = new cvMat(); $camera->read($frame); if (!$frame->empty()) { $faceDetector = cvHOGDescriptor::getDefaultPeopleDetector(); $faces = []; cvcv::HOGDetectMultiScale($frame, $faces, $faceDetector); foreach ($faces as $face) { cvcv::rectangle($frame, $face, new cvScalar(0, 255, 0)); } cvcv::imshow('Camera', $frame); } if (cvcv::waitKey(1) == 27) { break; } } $camera->release(); cvcv::destroyAllWindows();
在上述代码中,我们使用了OpenCV提供的人脸检测算法HOGDescriptor
。首先,我们创建了一个Mat
对象frame
,用于存储获取的图像帧。然后,我们使用VideoCapture
对象的read()
函数不断读取摄像头的图像帧。接下来,我们使用HOGDetectMultiScale()
函数检测图像中的人脸,并用矩形框标记出来。最后,我们使用imshow()
函数实时显示图像,并使用waitKey()
rrreee
rrreee
Langkah 3: Langsung Analisis Imej
rrreee
Dalam kod di atas, kami menggunakan algoritma pengesanan muka HOGDescriptor
yang disediakan oleh OpenCV. Mula-mula, kami mencipta objek Mat
frame
untuk menyimpan bingkai imej yang diperoleh. Kemudian, kami menggunakan fungsi read()
objek VideoCapture
untuk membaca bingkai imej kamera secara berterusan. Seterusnya, kami menggunakan fungsi HOGDetectMultiScale()
untuk mengesan wajah dalam imej dan menandakannya dengan kotak segi empat tepat. Akhir sekali, kami menggunakan fungsi imshow()
untuk memaparkan imej dalam masa nyata dan menggunakan fungsi waitKey()
untuk memantau input papan kekunci secara berterusan apabila kekunci ESC pada papan kekunci ditekan, program keluar.
Atas ialah kandungan terperinci PHP memanggil kamera untuk mencapai analisis imej masa nyata: perkongsian tutorial mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!