今回も前回と同様にテキストから画像を作成します。前回は白黒のビットマップ画像でしたが、今回はグレースケール(灰色の画像)とフルカラー画像を作成します。今回も前回同様にUNIX系が基本ですが改行コード等に注意すればWindows 10でも作成できます。
グレースケール画像を生成
PGMはグレースケール画像を扱う形式です。 まず、8段階のグレースケール画像を作成します。画像のサイズは8×1ドット、最大輝度の段階は8です。
PGMもPBMと同様に最初に画像形式、情報を示すヘッダーを書きます。最初の一行にはP2の文字を指定します。これがPGM形式である事を示す文字列になります。マジックナンバーの次の行には画像の横幅と縦幅を指定します。横幅と縦幅の間には半角空白を入れます。PGMの場合、横幅と縦幅の次にグレースケールの最大輝度を指定します。輝度の値は0から始まります(0が完全な黒色)。今回は最大輝度が8段階、つまり0〜7なので7を指定します。
その次の行からグレースケールの値を数値で記述していきます。PBMと違いピクセルデータとピクセルデータの間には空白や改行が必要です。 以下のようにすると8×1ドットのグラデーション画像になります。
P2
8 1
7
0 1 2 3 4 5 6 7
前回同様に無理矢理コマンドラインから作成してみましょう。面倒だなと思う人はテキストエディタで作成しても構いません。が、無理矢理コマンドを使う連載なので、やはりコマンドラインから作成してもらえるとよいのではないかと思います。
今回も作成するディレクトリはデスクトップとします。cdコマンドでカレントディレクトリをデスクトップにしておきます。こうしておくと画像ファイルが生成された事がすぐにわかります。
cd ~/Desktop
次に前回同様にechoコマンドとリダイレクトを使って作成します。
echo 'P2'>gray.pgm
echo '8 1'>>gray.pgm
echo '7'>>gray.pgm
echo '0 1 2 3 4 5 6 7'>>gray.pgm
macOSだと正しく画像ファイルが作成されるとアイコンで確認できます。画像をアプリケーションで開いて確認します。
横1ドットの灰色のグラデーションになっているはずです。もし、なっていなかったら、どこか入力ミスしている可能性があります。確認してみてください。