画像にはRGBなどのバンド(レイヤー)が存在しています。
通常1つの画像ファイルに全てのバンドが含まれていますがRedだけの画像が欲しかったりRed,Green,Blueをファイルごとに分けたい場合などがあります。
そういったときに使用するGDALコマンドをご紹介します。
画像によってRed, Green, Blueの格納順序が異なる場合があるためバンド1、バンド2、バンド3・・・といった表現を使います。
バンド分割する場合は「gdal_translate」コマンドを使用します。
また -b オプションで欲しいバンドを指定します。
ハワイのサインプル画像を使ってバンド分割を行います。
このサンプル画像はRapidEyeで撮影された画像なので5バンドの衛星画像です。
またこの画像はバンド1:Blue、バンド2:Green、バンド3:Redとなっています。今回は衛星画像を使用しますが、衛星画像ではなくても扱うことができます。
![](https://i2.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/000.jpg?resize=848%2C847&ssl=1)
バンド分割コマンド
各バンドを分割するコマンドは下記の通りです。
# バンド1:Blue gdal_translate -of GTiff -b 1 2010-12-05T221358_RE2_3A-NAC_6683383_113276.tif band1.tif # バンド2:Green gdal_translate -of GTiff -b 2 2010-12-05T221358_RE2_3A-NAC_6683383_113276.tif band2.tif # バンド3:Red gdal_translate -of GTiff -b 3 2010-12-05T221358_RE2_3A-NAC_6683383_113276.tif band3.tif
出力結果の確認
バンド1:Blue – band1.tif
色の範囲はMin/Max=2032.000,58926.000で出力されました。
![](https://i0.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/band1.jpg?resize=847%2C847&ssl=1)
バンド2:Green – band2.tif
色の範囲はMin/Max=0.000,60851.000で出力されました。
![](https://i1.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/band2.jpg?resize=848%2C847&ssl=1)
バンド3:Red – band3.tif
色の範囲はMin/Max=651.000,57198.000で出力されました。
![](https://i2.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/band3.jpg?resize=848%2C847&ssl=1)
ついでにバンド4とバンド5も出力してみました。
バンド4 – band4.tif
色の範囲はMin/Max=306.000,56185.000で出力されました。
![](https://i1.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/band4.jpg?resize=848%2C847&ssl=1)
バンド5 – band5.tif
色の範囲はMin/Max=226.000,39031.000で出力されました。
![](https://i2.wp.com/hacker.trickstorm.com/wp-content/uploads/2020/10/band5.jpg?resize=848%2C847&ssl=1)