Python を使用して画像を色分けする方法
画像を処理するとき、個別の処理や分析のために画像の異なる色の部分を分離する必要がある場合があります。これは、Python プログラミング言語のいくつかの画像処理ライブラリを使用することで実現できます。この記事では、Python を使用して画像を簡単に色分けする方法をコード例とともに紹介します。
ステップ 1: 必要なライブラリをインストールする
まず、Python の画像処理ライブラリ Pillow をインストールする必要があります。ターミナルまたはコマンド プロンプトで次のコマンドを実行して、Pillow ライブラリをインストールします。
pip install pillow
ステップ 2: 必要なライブラリをインポートする
Python コードでは、Pillow ライブラリとその他のライブラリをインポートする必要があります。その他に必要な以下のライブラリ:
from PIL import Image import numpy as np import matplotlib.pyplot as plt
ステップ 3: 画像をロードする
次に、カラー セグメント化する画像をロードする必要があります。 Pillow ライブラリの Image.open()
関数を使用して画像ファイルを読み込み、さらに処理するためにそれを NumPy 配列に変換します。サンプル コードは次のとおりです。
image_path = "image.jpg" # 图像文件的路径 image = Image.open(image_path) image_array = np.array(image)
ステップ 4: カラー セグメンテーション
画像をロードして NumPy 配列に変換したら、NumPy ライブラリの機能を使用して色を付けることができます。画像を分割します。次のサンプル コードは、色の RGB 値に基づいて画像をセグメント化します:
red_mask = (image_array[:, :, 0] > 100) # 红色通道大于100的像素点为True,其余为False green_mask = (image_array[:, :, 1] < 50) # 绿色通道小于50的像素点为True,其余为False blue_mask = (image_array[:, :, 2] < 75) # 蓝色通道小于75的像素点为True,其余为False # 创建一个与图像大小相同的全黑图像 segmented_image = np.zeros_like(image_array) # 使用颜色掩码将分割后的像素点赋值给新图像 segmented_image[red_mask] = image_array[red_mask] segmented_image[green_mask] = image_array[green_mask] segmented_image[blue_mask] = image_array[blue_mask]
ステップ 5: セグメント化された画像を表示します
最後に、Matplotlib ライブラリを使用してセグメント化された画像を表示できます。 。次のサンプル コードは、画面上に分割イメージを表示します。
plt.imshow(segmented_image) plt.axis("off") # 关闭坐标轴 plt.show()
上記の手順を完了した後、コードを実行して、カラー分割イメージを確認できます。ニーズに応じて、画像のさまざまなカラー チャネルの値に基づいてカラー セグメンテーション ルールをカスタマイズできます。
完全なコードは次のとおりです:
from PIL import Image import numpy as np import matplotlib.pyplot as plt image_path = "image.jpg" # 图像文件的路径 image = Image.open(image_path) image_array = np.array(image) red_mask = (image_array[:, :, 0] > 100) # 红色通道大于100的像素点为True,其余为False green_mask = (image_array[:, :, 1] < 50) # 绿色通道小于50的像素点为True,其余为False blue_mask = (image_array[:, :, 2] < 75) # 蓝色通道小于75的像素点为True,其余为False segmented_image = np.zeros_like(image_array) segmented_image[red_mask] = image_array[red_mask] segmented_image[green_mask] = image_array[green_mask] segmented_image[blue_mask] = image_array[blue_mask] plt.imshow(segmented_image) plt.axis("off") # 关闭坐标轴 plt.show()
上記の手順により、Python を使用して画像のカラー セグメンテーションを簡単に実行できます。特定のニーズと画像の特性に基づいて、カラー セグメンテーション ルールとその後の画像処理と分析をカスタマイズできます。
以上がPython を使用して画像に色を付ける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。