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

WBOY
Libérer: 2023-07-17 19:06:02
original
729 Les gens l'ont consulté

Comment effectuer une rotation d'image et conserver le remplissage à l'aide des bibliothèques PHP et OpenCV

Résumé :
Dans le traitement d'image, la rotation d'image est une opération courante. Cet article explique comment utiliser les bibliothèques PHP et OpenCV pour réaliser la rotation des images et conserver le remplissage. Nous utiliserons la bibliothèque d'extensions de traitement d'image de PHP GD et la bibliothèque d'extensions PHP d'OpenCV pour implémenter cette fonction. L'article fournira des exemples de code détaillés pour aider les lecteurs à comprendre et à mettre en pratique.

  1. Introduction
    Le traitement d'image est largement utilisé dans la vision par ordinateur, la reconnaissance d'images et d'autres domaines. Parmi elles, la rotation de l’image est l’une des opérations de base du traitement d’image. Cependant, la rotation conventionnelle de l’image entraîne souvent une distorsion et un recadrage de l’image. Afin de résoudre ce problème, nous pouvons utiliser la méthode de rotation de l'image et de conservation du remplissage, de sorte que l'image pivotée reste intacte.
  2. Préparation
    Avant de commencer, nous devons nous assurer que nous avons installé la bibliothèque d'extensions de traitement d'image de PHP GD et la bibliothèque d'extensions PHP d'OpenCV. S'ils ne sont pas installés, vous pouvez les installer selon la commande suivante :

    sudo apt-get install php7.4-gd
    sudo apt-get install php7.4-opencv
    Copier après la connexion
  3. Exemple de code de rotation d'image
    Voici un exemple de code qui utilise PHP et la bibliothèque OpenCV pour implémenter la rotation d'image et continuer à remplir :
<?php
// 加载OpenCV库
if (!extension_loaded('opencv'))
{
    dl('opencv.' . PHP_SHLIB_SUFFIX);
}

// 加载源图像
$srcImage = imagecreatefromjpeg('input.jpg');

// 源图像的宽度和高度
$srcWidth = imagesx($srcImage);
$srcHeight = imagesy($srcImage);

// 创建一个新的图像对象,大小为旋转后的图像大小
$newWidth = $srcHeight; // 宽度等于高度
$newHeight = $srcWidth; // 高度等于宽度
$dstImage = imagecreatetruecolor($newWidth, $newHeight);

// 旋转图像
$angle = 90; // 旋转角度
$bgColor = imagecolorallocate($dstImage, 255, 255, 255); // 填补颜色为白色
$dstImage = imagerotate($srcImage, $angle, $bgColor);

// 保存旋转后的图像
imagejpeg($dstImage, 'output.jpg');
?>
Copier après la connexion

Le code ci-dessus sera être nommé input.jpg的源图像中加载图像,并创建一个新的图像对象,大小为旋转后的图像大小。算法将图像旋转90度,并使用白色进行填补。最后,将旋转后的图像保存为output.jpg.

  1. Conclusion
    Cet article explique comment utiliser les bibliothèques PHP et OpenCV pour réaliser la rotation des images et conserver le remplissage. Nous pouvons facilement implémenter cette fonction en utilisant la bibliothèque d'extensions de traitement d'image de PHP GD et la bibliothèque d'extensions PHP d'OpenCV. L'article fournit des exemples de code détaillés, les lecteurs peuvent s'entraîner et explorer davantage en fonction du code.

Grâce à l'étude et à la pratique de cet article, les lecteurs seront en mesure de mieux comprendre et appliquer les bibliothèques PHP et OpenCV pour faire pivoter les images et maintenir les méthodes de remplissage. J'espère que cet article sera utile aux lecteurs dans leur étude et leur application dans le domaine du traitement d'images.

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