Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie eine Bildschwellenwertermittlung mithilfe von PHP- und OpenCV-Bibliotheken durch

So führen Sie eine Bildschwellenwertermittlung mithilfe von PHP- und OpenCV-Bibliotheken durch

WBOY
WBOYOriginal
2023-07-17 10:15:12933Durchsuche

Methode zur Bildschwellenwertbildung unter Verwendung von PHP- und OpenCV-Bibliotheken

Die Bildverarbeitung ist eine der wichtigen Forschungsrichtungen im Bereich Computer Vision, wobei die Bildschwellenwertbildung eine häufig verwendete Methode ist. Durch Bildschwellenwertbildung können wir die Pixelwerte im Bild in eine binäre Form umwandeln, um die nachfolgende Bildsegmentierung, Kantenerkennung und andere Vorgänge zu erleichtern. In diesem Artikel wird die Verwendung von PHP- und OpenCV-Bibliotheken für die Bildschwellenwertermittlung vorgestellt und Codebeispiele gegeben.

Zuerst müssen wir die Installation und Konfiguration der OpenCV-Bibliothek vorbereiten. Um die OpenCV-Bibliothek in PHP zu verwenden, können Sie das PHP-Erweiterungspaket php-opencv verwenden. Mit den folgenden Schritten können wir das Erweiterungspaket php-opencv installieren. 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

Schritt 1: OpenCV-Bibliothek installieren

Führen Sie den folgenden Befehl im Terminal aus, um die OpenCV-Bibliothek zu installieren:

rrreee

Schritt 2: Installieren Sie das PHP-OpenCV-Erweiterungspaket🎜🎜Führen Sie den folgenden Befehl im Terminal aus, um PHP zu installieren -opencv-Erweiterungspaket:🎜rrreee🎜 Als Nächstes können wir PHP- und OpenCV-Bibliotheken verwenden, um das Bild als Schwellenwert festzulegen. Das Folgende ist ein Beispielcode: 🎜rrreee🎜Im obigen Code wird das Eingabebild zuerst mit der Funktion cvimread gelesen und das Bild mit der Funktion cvIMREAD_GRAYSCALE in ein Graustufenbild umgewandelt. Code> Parameter. 🎜🎜Als nächstes erstellen wir ein <code>BinaryImage-Objekt und verwenden die Funktion adaptiveThreshold, um einen Schwellenwert für das Graustufenbild festzulegen. Die Parameter dieser Funktion sind: Eingabebild, maximaler Schwellenwert, adaptive Schwellenwertmethode, Binärisierungsmethode, Blockgröße und konstanter Wert. 🎜🎜Schließlich verwenden wir die Funktion cvimwrite, um das Schwellenwertbild in die Ausgabedatei zu schreiben. 🎜🎜Es ist zu beachten, dass Sie bei Verwendung der Funktionen der OpenCV-Bibliothek das Präfix cv oder OpenCV vor der Funktion hinzufügen müssen. 🎜🎜Mit dem obigen Code können wir das durch Bildschwellenwertbildung erhaltene Binärbild in eine Datei ausgeben. Natürlich können wir weitere morphologische Operationen, Konturextraktion und andere Verarbeitungen am Binärbild durchführen, um weitere Bildanalyse- und Erkennungsfunktionen zu erreichen. 🎜🎜Zusammenfassend lässt sich sagen, dass die Methode zur Verwendung von PHP- und OpenCV-Bibliotheken für die Bildschwellenwertermittlung sehr einfach ist. Sie müssen lediglich die entsprechenden Bibliotheken installieren und die entsprechenden Funktionen aufrufen. Ich hoffe, dieser Artikel hilft Ihnen! 🎜

Das obige ist der detaillierte Inhalt vonSo führen Sie eine Bildschwellenwertermittlung mithilfe von PHP- und OpenCV-Bibliotheken durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn