Maison > développement back-end > tutoriel php > Comment recadrer des images et conserver le remplissage à l'aide des bibliothèques PHP et OpenCV

Comment recadrer des images et conserver le remplissage à l'aide des bibliothèques PHP et OpenCV

PHPz
Libérer: 2023-07-17 12:56:01
original
1581 Les gens l'ont consulté

Comment recadrer des images et conserver le remplissage à l'aide des bibliothèques PHP et OpenCV

Introduction :
Le traitement d'image joue un rôle essentiel dans le domaine de l'informatique moderne. Le recadrage d'image est une tâche courante dans le traitement d'image, qui nous permet de sélectionner des régions d'intérêt à partir de l'image originale et d'effectuer une analyse ou un traitement plus approfondi sur celles-ci. Dans cet article, nous présenterons comment utiliser le langage de programmation PHP et la bibliothèque OpenCV pour recadrer les images et conserver le remplissage.

OpenCV est une bibliothèque de vision par ordinateur open source largement utilisée qui fournit une série de puissantes fonctions de traitement d'image. PHP est un langage de script largement utilisé pour le développement de sites Web. Il est simple et facile à utiliser. En combinant les bibliothèques PHP et OpenCV, nous pouvons réaliser des tâches de traitement d'image efficaces.

Étapes spécifiques :

  1. Préparation :
    Avant de commencer, nous devons installer les bibliothèques PHP et OpenCV. Pour plus de commodité, nous pouvons utiliser l'extension php-opencv, qui est une interface OpenCV pour PHP qui nous permet d'utiliser la bibliothèque OpenCV directement en PHP.
  2. Chargement de l'image :
    Tout d'abord, nous devons charger l'image à traiter. En PHP, vous pouvez utiliser des fonctions telles que imagecreatefromjpeg() et imagecreatefrompng() pour charger des images dans différents formats. Voici un exemple de code :
$image = imagecreatefromjpeg('input.jpg');
Copier après la connexion
  1. Recadrer l'image :
    Pour recadrer l'image, nous devons spécifier la zone d'intérêt. Dans OpenCV, vous pouvez utiliser la fonction cv2.rectangl() pour spécifier les coordonnées et la taille de la région d'intérêt. Voici un exemple de code :
$x = 100;
$y = 100;
$width = 200;
$height = 200;

// 创建一个矩形
$rect = cv2.rectangle($image, array($x, $y), array($x + $width, $y + $height), (0, 255, 0), 2);

// 裁剪图像
$cropped_image = imagecrop($image, $rect);
Copier après la connexion

Dans le code ci-dessus, nous créons un rectangle puis utilisons la fonction imagecrop() pour recadrer l'image.

  1. Traitement du rembourrage :
    Lors du recadrage d'une image, il arrive parfois que la zone d'intérêt dépasse la limite de l'image. Pour éviter d'avoir une image incomplète, nous pouvons utiliser un remplissage de limite pour remplir l'image. Dans OpenCV, vous pouvez utiliser la fonction cv2.copyMakeBorder() pour terminer l'opération de remplissage. Voici un exemple de code :
$border_width = 10;

// 填充边界
$padded_image = cv2.copyMakeBorder($cropped_image, $border_width, $border_width, $border_width, $border_width, cv2.BORDER_CONSTANT);
Copier après la connexion

Dans le code ci-dessus, nous effectuons un remplissage de bordure en spécifiant la largeur de la bordure et le type de remplissage. Dans cet exemple, nous utilisons le type de remplissage constant.

  1. Enregistrer l'image :
    Enfin, nous pouvons utiliser des fonctions telles que imagejpeg() ou imagepng() pour enregistrer l'image traitée dans un fichier spécifié. Voici un exemple de code :
imagejpeg($padded_image, 'output.jpg');
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction imagejpeg() pour enregistrer l'image au format JPG.

Conclusion :
En combinant les bibliothèques PHP et OpenCV, nous pouvons facilement implémenter le recadrage d'images et conserver les opérations de remplissage. Grâce à cette méthode, nous pouvons sélectionner des régions d’intérêt à partir de l’image originale et effectuer un traitement ou une analyse ultérieure. J'espère que cet article vous sera utile !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal