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
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 fonctioncvimread
, 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!