Bagaimana untuk melaksanakan penjejakan sasaran menggunakan PHP dan perpustakaan OpenCV?
Penjejakan objek ialah masalah penting dalam penglihatan komputer, yang melibatkan mengenal pasti dan menjejak objek yang menarik dalam jujukan imej berterusan. Dalam artikel ini, kami akan membincangkan cara melaksanakan penjejakan objek menggunakan PHP dan pustaka OpenCV serta menyediakan beberapa contoh kod.
Pertama, kita perlu memasang PHP dan perpustakaan sambungan OpenCV yang sepadan. Perpustakaan yang berkaitan boleh dipasang dengan melaksanakan arahan berikut dalam terminal atau baris arahan:
sudo apt-get install php sudo apt-get install php-dev sudo apt-get install pkg-config sudo apt-get install libopencv-dev sudo apt-get install libphp-embed
Selepas pemasangan selesai, kami perlu mendayakan sambungan OpenCV dalam fail konfigurasi PHP. Cari fail php.ini dan bukanya dengan editor teks, kemudian cari baris berikut dan nyahkomennya:
;extension=opencv.so
Tukar kepada:
extension=opencv.so
Selepas menyimpan dan menutup fail, kita perlu memulakan semula PHP untuk perubahan diambil kesan.
Seterusnya, kami akan mencipta skrip PHP untuk melaksanakan penjejakan matlamat. Pertama, kita perlu mengimport perpustakaan OpenCV:
<?php // 导入OpenCV库 opencv_import(); ?>
Sebelum melakukan penjejakan sasaran, kita perlu memuatkan imej dan templat sasaran untuk dijejaki. Berikut ialah kod sampel untuk memuatkan imej dan templat sasaran:
<?php // 加载图像 $image = opencv_load_image('path/to/image.jpg'); // 加载目标模板 $template = opencv_load_image('path/to/template.jpg'); ?>
Setelah kami memuatkan imej dan templat sasaran, tiba masanya untuk melaksanakan penjejakan sasaran. Berikut ialah contoh kod yang menggunakan perpustakaan OpenCV untuk melaksanakan penjejakan sasaran:
<?php // 执行目标跟踪 $result = opencv_match_template($image, $template, CV_TM_CCOEFF_NORMED); // 标记目标位置 $min_val; $max_val; $min_loc; $max_loc; opencv_min_max_loc($result, $min_val, $max_val, $min_loc, $max_loc); // 绘制目标边界框 $top_left = $max_loc; $bottom_right = [$max_loc[0] + $template->width, $max_loc[1] + $template->height]; opencv_rectangle($image, $top_left, $bottom_right, [0, 255, 0], 2); // 显示结果图像 opencv_show_image($image); // 释放内存 opencv_release_image($image); opencv_release_image($template); opencv_release_image($result); ?>
Kod di atas menggunakan fungsi OpenCV opencv_match_template
来执行目标跟踪,并使用opencv_min_max_loc
函数找到匹配度最高的位置。然后,使用opencv_rectangle
函数绘制目标边界框,并使用opencv_show_image
untuk memaparkan imej yang terhasil. Akhir sekali, kita perlu membebaskan memori untuk mengelakkan kebocoran memori.
Ringkasan:
Artikel ini memperkenalkan cara melaksanakan penjejakan sasaran menggunakan perpustakaan PHP dan OpenCV. Kami membincangkan langkah-langkah untuk memasang perpustakaan PHP dan OpenCV dan menyediakan beberapa contoh kod PHP untuk menunjukkan cara memuatkan imej dan templat sasaran serta melaksanakan penjejakan sasaran. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penjejakan sasaran menggunakan PHP dan perpustakaan OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!