Python を使用して画像からテクスチャを抽出する方法
はじめに: テクスチャ抽出は画像処理における重要なテクノロジであり、画像分析のために画像からテクスチャ特徴を抽出できます。分類、照合、その他のタスク。人気のプログラミング言語として、Python には PIL、opencv-python などの画像処理ライブラリとツールが豊富にあります。この記事では、Python を使用して画像からテクスチャを抽出する方法を紹介し、コード例を添付します。
1. 必要なライブラリをインストールしてインポートする
開始する前に、PIL、opencv-python、numpy などの必要なライブラリをインストールしてインポートする必要があります。これらは pip を使用してインストールできます:
$ pip install Pillow $ pip install opencv-python $ pip install numpy
必要なライブラリをインポートするコードは次のとおりです:
import cv2 import numpy as np from PIL import Image
2. 画像の読み取りと表示
最初に、画像を読み取る必要があります。処理されて表示されます。ここでは自然風景の写真を選択し、「texture.jpg」として保存しました。
# 读取图片 image = Image.open("texture.jpg") # 显示图片 image.show()
3. 画像をグレースケール画像に変換する
テクスチャ抽出は一般的にグレースケール画像に対して行われるため、読み取ったカラー画像をグレースケール画像に変換する必要があります。
# 转换为灰度图像 gray_image = image.convert("L") # 显示灰度图像 gray_image.show()
4. グレー レベル共起行列 (GLCM) を計算する
グレー レベル共起行列はテクスチャ分析の一般的な方法であり、グレー レベルの変化と空間的関係を説明できます。ピクセルの間。
Python では、opencv-python ライブラリ (cv2) を使用して、グレー レベルの共起行列を計算できます。具体的な手順は次のとおりです。
# 将灰度图像转换为numpy数组 gray_array = np.array(gray_image)
cv2.calcHist()
関数を使用して、グレー レベルの共起行列を計算します。この関数には、グレースケール画像と、グレースケール レベルの数、ピクセル間隔、画像の高さと幅などのいくつかのパラメーターの入力が必要です。 # 计算灰度共生矩阵 glcm = cv2.calcHist([gray_array], [0], None, [256], [0, 256])
# 规范化灰度共生矩阵 glcm /= glcm.sum()
5. テクスチャ特徴の抽出
グレー レベルの共起行列を取得した後、それを使用して、エネルギー、コントラスト、相関関係、均一性などの一般的なテクスチャ特徴を抽出できます。等
次に、いくつかの一般的なテクスチャ特徴の計算方法を示します。
# 计算能量(energy) energy = np.sum(glcm ** 2) print("能量:", energy)
# 计算对比度(contrast) contrast = np.sum(glcm * np.abs(np.arange(256) - np.arange(256)[:,None])) print("对比度:", contrast)
# 计算相关性(correlation) correlation = np.sum(glcm * (np.arange(256) - np.mean(glcm)) * (np.arange(256)[:,None] - np.mean(glcm))) / (np.std(glcm) ** 2) print("相关性:", correlation)
# 计算均匀性(homogeneity) homogeneity = np.sum(glcm / (1 + np.abs(np.arange(256) - np.arange(256)[:,None]))) print("均匀性:", homogeneity)
6. まとめ
この記事では、Python を使用して画像からテクスチャを抽出する方法と、一般的なテクスチャ特徴を計算する方法を紹介します。一般的に使用される 2 つの画像処理ライブラリである PIL と opencv-python を使用すると、画像の読み取りと表示、画像のグレースケール画像への変換、画像のグレースケール共起行列の計算を簡単に行うことができます。グレーレベルの共起行列を取得した後、エネルギー、コントラスト、相関、均一性などの一般的なテクスチャ特徴を計算する方法も紹介しました。
テクスチャ分析はコンピュータ ビジョンにおける重要な研究方向であり、画像分析、分類、検索、その他のタスクにおいて重要な役割を果たします。この記事が、テクスチャ抽出テクノロジを学び、適用する読者にとって役立つことを願っています。
以上がPythonを使用して画像からテクスチャを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。