Maison > Article > développement back-end > Comment implémenter le suivi de cible à l'aide de PHP et de la bibliothèque OpenCV ?
Comment implémenter le suivi de cible à l'aide de PHP et de la bibliothèque OpenCV ?
Le suivi d'objets est un problème important en vision par ordinateur, qui implique l'identification et le suivi d'objets d'intérêt dans des séquences d'images continues. Dans cet article, nous verrons comment implémenter le suivi d'objets à l'aide de PHP et de la bibliothèque OpenCV et fournirons quelques exemples de code.
Tout d'abord, nous devons installer PHP et la bibliothèque d'extension OpenCV correspondante. Les bibliothèques pertinentes peuvent être installées en exécutant la commande suivante dans le terminal ou la ligne de commande :
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
Une fois l'installation terminée, nous devons activer l'extension OpenCV dans le fichier de configuration de PHP. Recherchez le fichier php.ini et ouvrez-le avec un éditeur de texte, puis recherchez la ligne suivante et décommentez-la :
;extension=opencv.so
Remplacez-le par :
extension=opencv.so
Après avoir enregistré et fermé le fichier, nous devons redémarrer PHP pour que les modifications prennent en compte effet.
Ensuite, nous créerons un script PHP pour implémenter le suivi des objectifs. Tout d'abord, nous devons importer la bibliothèque OpenCV :
<?php // 导入OpenCV库 opencv_import(); ?>
Avant d'effectuer le suivi de la cible, nous devons charger l'image et le modèle cible à suivre. Voici l'exemple de code pour charger l'image et le modèle cible :
<?php // 加载图像 $image = opencv_load_image('path/to/image.jpg'); // 加载目标模板 $template = opencv_load_image('path/to/template.jpg'); ?>
Une fois l'image et le modèle cible chargés, il est temps d'effectuer le suivi de la cible. Voici un exemple de code qui utilise la bibliothèque OpenCV pour implémenter le suivi de cible :
<?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); ?>
Le code ci-dessus utilise la fonction OpenCV opencv_match_template
来执行目标跟踪,并使用opencv_min_max_loc
函数找到匹配度最高的位置。然后,使用opencv_rectangle
函数绘制目标边界框,并使用opencv_show_image
pour afficher l'image résultante. Enfin, nous devons libérer de la mémoire pour éviter les fuites de mémoire.
Résumé :
Cet article présente comment implémenter le suivi de cible à l'aide des bibliothèques PHP et OpenCV. Nous avons discuté des étapes d'installation des bibliothèques PHP et OpenCV et fourni quelques exemples de code PHP pour montrer comment charger des images et des modèles cibles, et effectuer un suivi de cible. J'espère que cet article vous aidera !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!