Heim  >  Artikel  >  Backend-Entwicklung  >  So segmentieren Sie Bilder mit Schwellenwerten mithilfe von Python

So segmentieren Sie Bilder mit Schwellenwerten mithilfe von Python

WBOY
WBOYOriginal
2023-08-18 14:37:071087Durchsuche

So segmentieren Sie Bilder mit Schwellenwerten mithilfe von Python

So verwenden Sie Python, um eine Schwellenwertsegmentierung für Bilder durchzuführen

Einführung:
Die Schwellenwertsegmentierung ist eine einfache und effektive Bildverarbeitungsmethode, mit der die Pixel im Bild entsprechend ihren Graustufenwerten in zwei verschiedene Kategorien unterteilt werden können. Es wird häufig in der Bildverarbeitung verwendet, z. B. zur Zielerkennung, Kantenextraktion, Bildverbesserung usw. In diesem Artikel wird anhand relevanter Codebeispiele erläutert, wie Sie die OpenCV-Bibliothek in Python für die Schwellenwertsegmentierung verwenden.

Schritt 1: Importieren Sie die erforderlichen Bibliotheken
Um Python für die Bildverarbeitung zu verwenden, müssen zunächst die relevanten Bibliotheken importiert werden. In diesem Artikel wird die OpenCV-Bibliothek für die Bildverarbeitung verwendet. Sie müssen daher den folgenden Code verwenden, um die OpenCV-Bibliothek zu importieren:

import cv2
import numpy as np

Schritt 2: Lesen Sie das Bild
Als nächstes müssen wir die zu verarbeitende Bilddatei lesen. Das Bild kann mit der Funktion cv2.imread() in OpenCV gelesen werden, wie unten gezeigt: cv2.imread()函数来读取图像,如下所示:

image = cv2.imread("image.jpg")

步骤三:转换为灰度图像
阈值分割需要将图像转换为灰度图像。可以使用cv2.cvtColor()函数将读取的彩色图像转换为灰度图像,代码如下:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

步骤四:应用阈值分割
现在可以应用阈值分割算法来将图像分割成不同的类别。OpenCV提供了几种不同的阈值分割方法,本文将介绍最常用的全局阈值分割方法,即固定阈值分割。

首先,我们需要选择一个阈值。可以手动选择阈值,也可以使用Otsu算法自动选择阈值。本文将使用Otsu算法自动选择阈值,代码如下:

ret, threshold_image = cv2.threshold(gray_image, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)

cv2.threshold()函数返回两个值:阈值和分割后的二值图像。在这个例子中,我们使用Otsu算法来自动选择阈值。

步骤五:显示结果
最后,我们可以使用cv2.imshow()

cv2.imshow("Threshold Image", threshold_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Schritt 3: In Graustufenbild konvertieren

Die Schwellensegmentierung erfordert die Konvertierung des Bildes in ein Graustufenbild. Sie können die Funktion cv2.cvtColor() verwenden, um das gelesene Farbbild in ein Graustufenbild umzuwandeln. Der Code lautet wie folgt:

import cv2
import numpy as np

# 读取图像
image = cv2.imread("image.jpg")

# 转换为灰度图像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 应用阈值分割
ret, threshold_image = cv2.threshold(gray_image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# 显示结果
cv2.imshow("Threshold Image", threshold_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Schritt 4: Schwellenwertsegmentierung anwenden
Jetzt können Sie den Schwellenwert anwenden Segmentierungsalgorithmus, um das Bild in verschiedene Kategorien zu segmentieren. OpenCV bietet verschiedene Schwellenwertsegmentierungsmethoden. In diesem Artikel wird die am häufigsten verwendete globale Schwellenwertsegmentierungsmethode vorgestellt, nämlich die Segmentierung mit festen Schwellenwerten.

🎜Zuerst müssen wir einen Schwellenwert auswählen. Der Schwellenwert kann manuell oder automatisch mithilfe des Otsu-Algorithmus ausgewählt werden. In diesem Artikel wird der Otsu-Algorithmus verwendet, um den Schwellenwert automatisch auszuwählen. Der Code lautet wie folgt: 🎜rrreee🎜cv2.threshold() Die Funktion gibt zwei Werte zurück: den Schwellenwert und das segmentierte Binärbild. In diesem Beispiel verwenden wir den Otsu-Algorithmus, um den Schwellenwert automatisch auszuwählen. 🎜🎜Schritt 5: Ergebnisse anzeigen🎜Abschließend können wir die Funktion cv2.imshow() verwenden, um das verarbeitete Bild anzuzeigen. Der Code lautet wie folgt: 🎜rrreee🎜Vollständiges Codebeispiel: 🎜rrreee🎜 Fazit: 🎜Dieser Artikel beschreibt, wie die OpenCV-Bibliothek in Python für die Schwellenwertsegmentierung verwendet wird, einschließlich des Imports der erforderlichen Bibliotheken, des Lesens des Bildes, der Konvertierung in Graustufenbilder, der Anwendung der Schwellenwertsegmentierung und der Anzeige der Ergebnisse. Die Schwellenwertsegmentierung ist eine einfache und effektive Bildverarbeitungsmethode, mit der Bilder nach Bedarf für die anschließende Verarbeitung oder Analyse binarisiert werden können. Durch die Beherrschung dieser grundlegenden Schritte können wir bei tatsächlichen Bildverarbeitungsaufgaben eine Bildsegmentierung nach Bedarf durchführen und diese auf die Zielerkennung, Kantenextraktion usw. anwenden. 🎜

Das obige ist der detaillierte Inhalt vonSo segmentieren Sie Bilder mit Schwellenwerten mithilfe von Python. 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