Maison >développement back-end >tutoriel php >Bibliothèque PHP et OpenCV : Comment régler le contraste d'une image ?
Bibliothèque PHP et OpenCV : Comment régler le contraste de l'image ?
Résumé :
Le traitement d'image est l'un des axes de recherche importants dans le domaine de la vision par ordinateur. Le réglage du contraste est une tâche courante dans le traitement d'image, qui modifie la luminosité et le contraste d'une image pour la rendre plus complète et plus claire. Cet article expliquera comment utiliser le langage de programmation PHP et la bibliothèque OpenCV pour ajuster le contraste de l'image et donnera des exemples de code correspondants.
Étape 1 : Téléchargez la bibliothèque OpenCV
Téléchargez la bibliothèque OpenCV pour PHP sur le site officiel d'OpenCV (https://opencv.org/). Sélectionnez le système d'exploitation et la version correspondants à télécharger.
Étape 2 : Installez la bibliothèque OpenCV
Décompressez la bibliothèque OpenCV téléchargée et copiez-la dans le répertoire des extensions de PHP. Ajoutez le code suivant dans le fichier de configuration de PHP (php.ini) :
extension=opencv.so
Étape 3 : Redémarrez le serveur Web
Redémarrez le serveur Web pour que la nouvelle configuration prenne effet.
Étape 1 : Convertir l'image en image en niveaux de gris
Tout d'abord, convertissez l'image d'origine en image en niveaux de gris. Ceci peut être réalisé en prenant la moyenne de chaque valeur de pixel de l'image RVB comme valeur de luminosité.
Étape 2 : Calculez la luminosité moyenne
Calculez la luminosité moyenne de l'image en niveaux de gris. La luminosité moyenne peut être calculée en parcourant toutes les valeurs de pixels, en les additionnant, puis en divisant par le nombre total de pixels.
Étape 3 : Effectuez une transformation linéaire sur chaque pixel
Pour chaque valeur de pixel, effectuez une transformation linéaire par la formule suivante :
Nouvelle valeur de pixel = (valeur de pixel - luminosité moyenne) * gain de contraste + luminosité moyenne
<?php // 加载OpenCV库 $opencv = new OpenCV(); // 读取原始图像 $image = $opencv->readImage("original_image.jpg"); // 将图像转换为灰度图像 $gray_image = $opencv->cvtColor($image, CV_BGR2GRAY); // 计算平均亮度 $mean_brightness = $opencv->mean($gray_image); // 对每个像素进行线性变换 $contrast_gain = 1.5; // 对比度增益 $adjusted_image = $opencv->multiply($gray_image, $contrast_gain, $mean_brightness); // 显示调整后的图像 $opencv->imshow("Adjusted Image", $adjusted_image); $opencv->waitKey(); // 保存调整后的图像 $opencv->writeImage("adjusted_image.jpg", $adjusted_image); ?>
Dans le code ci-dessus, nous instancions d'abord un objet OpenCV. Nous lisons ensuite l'image originale à l'aide de la méthode readImage() et la convertissons en image en niveaux de gris à l'aide de la méthode cvtColor(). Ensuite, nous utilisons la méthode Mean() pour calculer la luminosité moyenne de l’image en niveaux de gris. Enfin, nous utilisons la méthode multiplier() pour transformer linéairement chaque pixel et utilisons la méthode imshow() pour afficher l'image ajustée.
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!