GMT ver.5 で写真整理

f:id:S_E_Hyphen:20180328154804p:plain

上図のように、ファイル名で対応関係を示した写真とグラフ画像が存在します。

これらをA4ポートレートの用紙に配置するスクリプトです。

ちなみに、これらのグラフ画像も 画像ファイルからRGB値を取り出す で出力したRGB値から GMT ver.5 を使用してスペクトルを描画したものです。

 

#/bin/bash
psfile=画像.ps
gmt gmtset MAP_GRID_PEN_PRIMARY 0.2p,#AAAAAA
gmt psbasemap -JX17c/25c -R0/17/0/25 -Bg0.1 -P -K > $psfile
gmt gmtset MAP_GRID_PEN_PRIMARY 1.0p,#000000
gmt psbasemap -JX17c/25c -R0/17/0/25 -Bg1 -P -O -K >> $psfile

y=17 # 画像の下端
for thema in 海 崖 百合
do

# キャプションの上端
y2=`bc -l << _BC_
 $y - 0.1
_BC_`
# 写真画像の貼り付け
gmt psimage ${thema}.jpg -J -R \
   -Dx2.0c/${y}c+r300+w4.064c/7.315c+jBL -O -K >> $psfile
# 写真画像のキャプション
echo 6.064 ${y2} ${thema}.jpg |\
 gmt pstext -J -R \
  -F+jTR+a0.0+f12p,GothicBBB-Medium-UniJIS-UTF8-H,0/0/0\
  -Gwhite -O -K >> $psfile
# グラフ画像の貼り付け
gmt psimage ${thema}_graph.jpg -J -R \
   -Dx7.0c/${y}c+r300+w8.467c/7.315c+jBL -O -K >> $psfile
# グラフ画像のキャプション
echo 15.467 ${y2} ${thema}_graph.jpg |\
 gmt pstext -J -R \
  -F+jTR+a0.0+f12p,GothicBBB-Medium-UniJIS-UTF8-H,0/0/0\
  -Gwhite -O -K >> $psfile

# 画像の下端8cm下げ
y=`expr $y - 8`

done

convert -density 150 -quality 69 画像.ps 画像.jpg

 主目盛1cm、副目盛1mmの方眼紙を作成し、写真を右から2cmに、グラフを右から7cmに配置します。

下から17cm、9cm、1cmの位置に、それぞれのテーマごとに配置します。

ちなみに写真の画素数は480×864、グラフ画像は1000x864です。psimage のw4.064c/7.315cとか、w8.467c/7.315cというオプションにより、解像度300DPIで、アスペクト比も保存されるように設定しています。

f:id:S_E_Hyphen:20180329084841j:plain

例ではconvert コマンドでJPEG画像に変換していますが、この応用として何ページ分も書き出して、PDFファイルにしてしまうことも容易です。