Maison  >  Article  >  développement back-end  >  Comment utiliser la bibliothèque PHP et OpenCV pour la mise à l'échelle et le recadrage des images ?

Comment utiliser la bibliothèque PHP et OpenCV pour la mise à l'échelle et le recadrage des images ?

WBOY
WBOYoriginal
2023-07-17 08:22:361014parcourir

Comment utiliser les bibliothèques PHP et OpenCV pour la mise à l'échelle et le recadrage des images ?

Dans le domaine du traitement d'image, la mise à l'échelle et le recadrage de l'image sont des opérations très courantes. En zoomant, on peut ajuster la taille de l'image ; en recadrant, on peut capturer la zone d'intérêt. En PHP, nous pouvons utiliser la bibliothèque OpenCV pour implémenter ces fonctions.

Tout d'abord, nous devons nous assurer que la bibliothèque OpenCV est installée sur notre serveur. Pour le processus d'installation de la bibliothèque OpenCV, veuillez vous référer à la documentation officielle d'OpenCV.

Ensuite, nous devons installer l'extension OpenCV pour PHP. L'extension OpenCV pour PHP se trouve dans le référentiel GitHub https://github.com/php-opencv/php-opencv. Suivez les instructions du référentiel pour l'installer.

Une fois l'installation terminée, nous pouvons utiliser les bibliothèques PHP et OpenCV pour la mise à l'échelle et le recadrage des images des manières suivantes :

  1. Mise à l'échelle de l'image

Il est très simple d'utiliser la bibliothèque OpenCV pour la mise à l'échelle des images. Voici un exemple de code :

<?php
$image = cvimread('input.jpg');

// 缩放图像尺寸为新尺寸
$newWidth = 800;
$newHeight = 600;
$resizedImage = cvesize($image, new cvSize($newWidth, $newHeight));

// 保存缩放后的图像
cvimwrite('resized.jpg', $resizedImage);
?>

Dans cet exemple, nous lisons d'abord l'image d'entrée à l'aide de la fonction cvimread et l'enregistrons dans la variable $image. Nous spécifions ensuite les nouvelles dimensions de l'image et mettons à l'échelle l'image d'entrée à l'aide de la fonction cvesize. Enfin, utilisez la fonction cvimwrite pour enregistrer l'image mise à l'échelle dans le fichier resized.jpg.

  1. Recadrage d'images

Le recadrage d'images est également très simple grâce à la bibliothèque OpenCV. Voici un exemple de code :

<?php
$image = cvimread('input.jpg');
$x = 100;
$y = 100;
$width = 500;
$height = 400;
$croppedImage = cvRect($x, $y, $width, $height);

// 保存裁剪后的图像
cvimwrite('cropped.jpg', $croppedImage);
?>

Dans cet exemple, nous lisons d'abord l'image d'entrée à l'aide de la fonction cvimread et l'enregistrons dans la variable $image. Nous spécifions ensuite les coordonnées du coin supérieur gauche de la zone de recadrage ($x et $y), ainsi que la largeur et la hauteur de la zone de recadrage ($width et $height). Ensuite, utilisez la fonction cvRect pour créer un objet rectangulaire représentant la zone de découpage. Enfin, utilisez la fonction cvimwrite pour enregistrer l'image recadrée dans le fichier cropped.jpg.

Grâce aux exemples de code ci-dessus, vous pouvez facilement implémenter des fonctions de mise à l'échelle et de recadrage d'image à l'aide de la bibliothèque OpenCV en PHP. Veuillez ajuster les paramètres dans le code et la manière d'appeler la fonction en fonction des besoins réels. Je vous souhaite du succès dans vos efforts de traitement d'image !

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!

Déclaration:
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