AWS Rekognitionを使っていて、数値として画素数を取得したいときに少々手間取ったので、記事にしておきます。
Imagemagickのインストール
yum install Imagemagick
一応取得できる方法(失敗する)
# identify test.png test.png PNG 918x595 918x595+0+0 8-bit DirectClass 37.5KB 0.000u 0:00.000
identifyは写真の情報をよこしてくれます。
ここから画素数を取得しようと思った時、cutなどを使うことを検討しますが
画素数が3桁か4桁かがわからない。写真の名前も変わる。これじゃ参照できない!
となります。
identifyにはオプションで-verboseというものがあり、すごく詳細に情報を表示できます。 画素数が載っているところだけgrepで抜き出してみましょう。
# identify -verbose test.png | grep "Geometry" Geometry: 918x595+0+0
ファイル名が消えました!
そして画素数大きくなると、単純に後ろにずれるだけと考えられます。
そこで13文字目より後、1個めの+より前 というcutをします。
# identify -verbose test.png | grep "Geometry" | cut -c 13- | cut -f 1 -d "+" 918x595
ここまで来たらあとは、「x」より前かあとかなので、
x画素数
# identify -verbose test.png | grep "Geometry" | cut -c 13- | cut -f 1 -d "+" | cut -f 1 -d "x" 918
y画素数
# identify -verbose test.png | grep "Geometry" | cut -c 13- | cut -f 1 -d "+" | cut -f 2 -d "x" 595
抽出できました。