🛰️

【Python】衛生画像をNDVIに変換して表示する方法

2023/08/29に公開

はじめに

衛生画像を活用して健康と衛生に関する情報を得ることは、今や一般的な方法です。本記事では、Pythonを使用して、衛生画像をNDVI(Normalized Difference Vegetation Index)に変換し、そのプロセスを通じて衛生画像の解析方法を紹介します。

衛生画像とNDVIとは?

衛生画像は、特定の波長範囲で撮影された画像で、土地や植物の健康状態を評価するのに使用されます。一方、NDVIは植物の植生を示す指標で、緑色と近赤外線の光の反射率を比較することで算出されます。NDVIは、植物の生育状態や土地の質を評価するのに役立つ重要な指標です。
農業では、例えば作物の植生をみて肥料を追加や病害の対策の意思決定をサポートします。

手順

  1. 衛生画像の取得: インターネットから適切な衛生画像をダウンロードします。たとえば、Sentinel Hub EO Browser からサンプル画像をダウンロードしましょう。

※サンプル画像のダウンロード方法こちらの記事を参照してください
https://sorabatake.jp/26170/

  1. PythonでのNDVI計算: Pythonプログラミングを使用して、衛生画像からNDVIを計算します。以下は、Pythonコードの一例です。

    import numpy as np
    import matplotlib.pyplot as plt
    from skimage import io
    
    def calculate_ndvi(red_band, nir_band):
        ndvi = (nir_band - red_band) / (nir_band + red_band)
        return ndvi
    
    # 画像の読み込み
    image_path = 'path/to/your/image.jpg'
    image = io.imread(image_path)
    
    # 赤色と近赤外線バンドの抽出
    red_band = image[:, :, 0]
    nir_band = image[:, :, 3]
    
    # NDVIの計算
    ndvi = calculate_ndvi(red_band, nir_band)
    
    # NDVI画像の表示
    plt.imshow(ndvi, cmap='viridis')
    plt.colorbar(label='NDVI')
    plt.title('NDVI Image')
    plt.show()
    

    以下は出力結果です。

  2. 出力結果の分析: 上記のコードによって計算されたNDVI画像をみて、植物の植生状態を評価します。NDVIの値が高いほど、植物の植生が高いことを示します。たとえば、NDVIが低いエリアを見つけることができると、実際にそのエリアに訪問して原因を調査し、対策を講じることができます。

結論

Pythonを使用して衛生画像をNDVIに変換することで、植物の植生状態や土地の質を評価する手段を手に入れることができます。

Discussion