Maison  >  Article  >  développement back-end  >  Comment effectuer un seuillage d'image à l'aide des bibliothèques PHP et OpenCV

Comment effectuer un seuillage d'image à l'aide des bibliothèques PHP et OpenCV

WBOY
WBOYoriginal
2023-07-17 10:15:12935parcourir

Méthode de seuillage d'images utilisant les bibliothèques PHP et OpenCV

Le traitement d'images est l'une des directions de recherche importantes dans le domaine de la vision par ordinateur, parmi lesquelles le seuillage d'images est une méthode couramment utilisée. Grâce au seuillage d'image, nous pouvons convertir les valeurs de pixels de l'image sous forme binaire pour faciliter la segmentation ultérieure de l'image, la détection des contours et d'autres opérations. Cet article expliquera comment utiliser les bibliothèques PHP et OpenCV pour le seuillage d'images et donnera des exemples de code.

Tout d'abord, nous devons préparer l'installation et la configuration de la bibliothèque OpenCV. Pour utiliser la bibliothèque OpenCV en PHP, vous pouvez utiliser le package d'extension PHP php-opencv. Nous pouvons installer le package d'extension php-opencv en suivant les étapes suivantes. php-opencv。我们可以通过以下的步骤来安装php-opencv扩展包。

步骤一:安装OpenCV库

在终端中执行以下的命令来安装OpenCV库:

sudo apt-get update
sudo apt-get install libopencv-dev

步骤二:安装php-opencv扩展包

在终端中执行以下的命令来安装php-opencv扩展包:

sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.4-opencv

接下来,我们可以利用PHP和OpenCV库来对图像进行阈值化处理。以下是一个示例代码:

<?php

$srcFilePath = 'input.jpg';
$outputFilePath = 'output.jpg';

// 读取图像
$srcImage = cvimread($srcFilePath, cvIMREAD_GRAYSCALE);

// 应用阈值化处理
$binaryImage = new OpenCVBinaryImage();
$binaryImage->adaptiveThreshold($srcImage, 255, cvADAPTIVE_THRESH_MEAN_C, cvTHRESH_BINARY, 11, 2);

// 输出图像
cvimwrite($outputFilePath, $binaryImage);

// 释放资源
unset($srcImage);
unset($binaryImage);

?>

上述代码中,首先通过cvimread函数读取了输入图像,并使用cvIMREAD_GRAYSCALE参数将图像转化为灰度图像。

接下来,我们创建了一个BinaryImage对象,并使用adaptiveThreshold函数对灰度图像进行阈值化处理。该函数的参数依次为:输入图像、最大阈值、自适应阈值化方法、二值化方法、块大小、常量值。

最后,我们使用cvimwrite函数将阈值化后的图像写入输出文件中。

需要注意的是,在使用OpenCV库的函数时,需要在函数前面加上cv或者OpenCV

Étape 1 : Installez la bibliothèque OpenCV

Exécutez la commande suivante dans le terminal pour installer la bibliothèque OpenCV :

rrreee

Étape 2 : Installez le package d'extension php-opencv🎜🎜Exécutez la commande suivante dans le terminal pour installer le php -package d'extension opencv :🎜rrreee🎜 Ensuite, nous pouvons utiliser les bibliothèques PHP et OpenCV pour seuiller l'image. Voici un exemple de code : 🎜rrreee🎜Dans le code ci-dessus, l'image d'entrée est d'abord lue via la fonction cvimread, et l'image est convertie en une image en niveaux de gris à l'aide de cvIMREAD_GRAYSCALE code> paramètre. 🎜🎜Ensuite, nous créons un objet <code>BinaryImage et utilisons la fonction adaptiveThreshold pour seuiller l'image en niveaux de gris. Les paramètres de cette fonction sont : l'image d'entrée, le seuil maximum, la méthode de seuil adaptatif, la méthode de binarisation, la taille du bloc et la valeur constante. 🎜🎜Enfin, nous utilisons la fonction cvimwrite pour écrire l'image seuillée dans le fichier de sortie. 🎜🎜Il est à noter que lors de l'utilisation des fonctions de la bibliothèque OpenCV, vous devez ajouter le préfixe cv ou OpenCV devant la fonction. 🎜🎜Avec le code ci-dessus, nous pouvons sortir l'image binaire obtenue par seuillage d'image dans un fichier. Bien entendu, nous pouvons également effectuer des opérations morphologiques, une extraction de contours et d’autres traitements sur l’image binaire pour obtenir davantage de fonctions d’analyse et de reconnaissance d’image. 🎜🎜Pour résumer, la méthode d'utilisation des bibliothèques PHP et OpenCV pour le seuillage d'images est très simple. Il vous suffit d'installer les bibliothèques correspondantes et d'appeler les fonctions correspondantes. 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!

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