読者です 読者をやめる 読者になる 読者になる

blog.tmp.online

プログラミング・飛行機・その他

【夏休み】昨日の写真(1)【休養日】

2016年夏休み 東京国際空港 航空機撮影

今日も天気が良いので写真を撮影に行こうと思っていたのですが,昨日の疲れが残っていてずっと立っていたからか足もちょっと痛かったりして運動不足を痛感しつつ,ゴロゴロ実家で寝ていました。午後からは少し出歩こうかと思います。本当は成田空港へ行こうと思って京成線のスカイライナーの予約までしていたのですが行かずじまい。天気は微妙ですが明日気が向いたら行こうかと思います。

昨日,羽田空港で久々に腰を据えて撮影してきました。その写真を少しずつ紹介。

写真の並び順が・・・

私のカメラは Canon の EOS 7D mark II というカメラなんですが,撮影した写真は SD カードに保存しています。ファイル名が「CA5A9434.JPG」という感じで 9434 の部分がカウントアップしていきます。航空機撮影は基本的に連写しているのでこの 4 桁の数字は時々 9999 まで行きます。9999 の次は 0001 になりますが,フォルダ構成がこんな感じです。

f:id:tomohiko37_i:20160906222454p:plain

f:id:tomohiko37_i:20160906222505p:plain

9999 の次の 0001 は違うフォルダに保存されます。通常,私の場合は大量に撮影した写真の中から残していくものをピックアップしていくのですが,9000 番台のファイルと 0001 以降の番号のファイルを同じフォルダに入れると順番が逆になります。当たり前なんですが。

時系列で並べたい

基本的に撮影した写真は時系列で並べたいので,この問題を解決するにはファイル名を変更するしかありません。手っ取り早くいくには写真を撮影した時にファイルに書き込まれている Exif 情報の日時情報をファイル名に付与すればよいのです。

迅速なファイルのリネームフリー

迅速なファイルのリネームフリー

  • Rebrand Software
  • 仕事効率化
  • 無料

ついこの間までこのアプリを使っていました。日本語訳が微妙です。Mac App Store で無料のを探して使っていたのですが,久々に使おうと思ったら金払え,とどうもこれ以上は使えなそうだったので自力で解決することにしました。

Python でスクリプトを書く

mac なのでシェルで書いてもいいのですが,最近は TensorFlow とかで Python を使うことがあるので練習がてらスクリプトを書きました。

# coding: UTF-8

from PIL import Image
from PIL.ExifTags import TAGS
from datetime import datetime as dt

import os
import re

# 画像の Exif 情報を取得する.
class ExifInfo:

  # 指定された画像の Exif 情報をすべて取得する.
  def get_exif(self, image_path):
    try:
      img = Image.open(image_path)
      exif_info = img._getexif()
      exif_table = {}
      for tag_id, value in exif_info.items():
        tag = TAGS.get(tag_id)
        exif_table[tag] = value
      return exif_table
    except AttributeError:
      print("AttributeError...")
      return {}

  def get_exif_info_datetimeoriginal(self, image_path):
    exif_table = self.get_exif(image_path)
    value = exif_table.get("DateTimeOriginal")
    date = dt.strptime(value, "%Y:%m:%d %H:%M:%S")
    return date.strftime("%Y%m%d_%H%M%S")

#-----------------------------------------------------------
# プログラムの実行部
#-----------------------------------------------------------
IMAGE_DIR="/tmp/photo"
info = ExifInfo()
files = os.listdir(IMAGE_DIR)
for file in files:
  jpg = re.compile("JPG")
  if jpg.search(file):
    exif_date = info.get_exif_info_datetimeoriginal(IMAGE_DIR + "/" + file)
    os.rename(IMAGE_DIR + "/" + file, IMAGE_DIR + "/" + exif_date + "_" + file)
  else:
    pass

pip を入れて PIL を入れれば動くと思います。IMAGE_DIR を画像ファイルの入ったフォルダを指定しておけば OK です。一応,拡張子は JPG にしています。これでファイル名を変更すると,

f:id:tomohiko37_i:20160906225841p:plain

yyyymmdd_hhmmss_xxxx というファイル名になります。これで撮影した順番になります。ということで,この順序で撮影した写真を。

念願の 787 を捕獲

展望デッキでまず 787 を撮影しました。

f:id:tomohiko37_i:20160906230850j:plain

後ろ向きで駐機している機体ですが。JA803A です。ANA の 787 は初号機が JA801A で,2 号機が JA802A でこの 2 機が最初ということで特別塗装機として通称「鯖」と呼ばれていますが,この番号に続く JA803A でありながら ANA が受領したのはなんと 12 機目としてです。ちなみに 3 号機は JA805A で 4 号機は JA807A です。登録番号の順番で納入されるわけではないのですね。

シンガポール航空の 777

次に撮影したのはシンガポール航空の 777 です。朝 9:30 前だったのですが,記憶ではこんな時間にはいなかった気がします。

f:id:tomohiko37_i:20160906232536j:plain

管制塔と絡めて撮影しました。

続きは Web で

明日も台風の影響か天気がよくないので自宅でまったりします。細かくブログを更新したいと思います。