ホームページ  >  記事  >  バックエンド開発  >  Python を使用して画像をセグメント化する方法

Python を使用して画像をセグメント化する方法

WBOY
WBOYオリジナル
2023-08-18 14:37:071050ブラウズ

Python を使用して画像をセグメント化する方法

Python を使用して画像に対してしきい値セグメンテーションを実行する方法

はじめに:
しきい値セグメンテーションは、分割されたピクセルを分離できるシンプルで効果的な画像処理方法です。グレースケール値に基づいて 2 つの異なるカテゴリに分類されます。ターゲット検出、エッジ抽出、画像強調などの画像処理に広く使用されています。この記事では、Python で OpenCV ライブラリを使用してしきい値セグメンテーションを行う方法と、関連するコード例を紹介します。

ステップ 1: 必要なライブラリをインポートする
画像処理に Python を使用するには、まず関連するライブラリをインポートする必要があります。この記事では、画像処理に OpenCV ライブラリを使用するため、次のコードを使用して OpenCV ライブラリをインポートする必要があります:

import cv2
import numpy as np

ステップ 2: 画像を読み取る
次に、画像ファイルを読み取る必要があります。処理される。以下に示すように、OpenCV の cv2.imread() 関数を使用して画像を読み取ることができます。

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

ステップ 3: グレースケール画像に変換する
しきい値セグメンテーションでは、画像を次のようにする必要があります。変換されるのはグレースケール画像です。 cv2.cvtColor() 関数を使用して、読み取ったカラー イメージをグレースケール イメージに変換できます。コードは次のとおりです:

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

ステップ 4: しきい値セグメンテーションを適用する
Nowしきい値セグメンテーション アルゴリズムを適用して、画像をさまざまなカテゴリにセグメント化できます。 OpenCV には、いくつかの異なるしきい値セグメンテーション方法が用意されていますが、この記事では、最も一般的に使用されるグローバルしきい値セグメンテーション方法である固定しきい値セグメンテーションを紹介します。

まず、しきい値を選択する必要があります。しきい値は手動で選択することも、Otsu アルゴリズムを使用して自動で選択することもできます。この記事では、Otsu アルゴリズムを使用してしきい値を自動的に選択します。コードは次のとおりです:

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

cv2.threshold()関数は、しきい値とセグメント化されたバイナリ イメージの 2 つの値を返します。 。この例では、Otsu アルゴリズムを使用してしきい値を自動的に選択します。

ステップ 5: 結果を表示する
最後に、cv2.imshow() 関数を使用して、処理された画像を表示できます。コードは次のとおりです。

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

完全なコード例:

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()

結論:
この記事では、必要なライブラリのインポート、画像の読み取り、グレースケール画像への変換、しきい値の適用など、Python で OpenCV ライブラリを使用してしきい値セグメンテーションを行う方法について説明します。セグメンテーションと結果の表示。閾値セグメンテーションは、後続の処理または分析のために必要に応じて画像を二値化できる、シンプルで効果的な画像処理方法です。これらの基本的な手順をマスターすることで、実際の画像処理タスクにおいて、必要に応じて画像セグメンテーションを実行し、ターゲット検出やエッジ抽出などに適用することができます。

以上がPython を使用して画像をセグメント化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。