Exif data to Thumbnail script "Exif2HTML"
 Exif データ→サムネイル化スクリプト "Exif2HTML"
バナー

最終更新日:2006/12/04 14:00

■概要

デジカメデータ内に存在する Exif 情報を HTML にサムネイル化するスクリプトです。
おまけ機能でコメントを埋め込む機能を持たせました (Exif 準拠)。

■インストール方法

さくら:Windows の中の人も大変だ。
うにゅう:中の人など居ない!!

■ for UNIX 系ユーザー

パスの通っている適当なディレクトリにコピーして chmod 755 exif2html.pl で終わり。
exif2html.pl の 1行目の perl パスが違う場合は変更が必要。
ファイル名は変更可能。場合によっては mv exif2html.pl exif2html としてもかまわない。

■ for Windows ユーザー

Perl が簡単には使えない (?) ので、前準備が必要です。

  1. まだ Perl をインスコしてない人はインスコする
    Active Perl がお勧め。
    http://www.activestate.com/

    ダウンロード。

    1. ActiveState のトップページから「Downloads」をクリックします。
      トップページ

    2. ActivePerl | Download now の Download now をクリック
      トップページ

    3. おもむろに Next をクリック (ぉぃ
      トップページ

    4. ActivePerl 5.6.1 build 635 Windows MSI 8.6MB をダウンロード
      トップページ

    インスコ。
    適当に進めば済むが、ファイルの選択の所では以下のようにしよう。
    ドライブパスは適当で・・・。

    インスコ選択メニュー

    インスコが終わったら確認してみる。

    C:\>perl
    print "Hello world!\n";
    ^D ←CTRL+D を押してリターン
    Hello world!

    C:\>

    こうなれば OK。
    「コマンドまたはファイル名が違います。」とつれないことを言われたら、パスが通っているか、もしくはインスコが正常に終わったかをチェキチェキチェキーーー!

  2. バッチファイルを作っておく (と便利)
    - exif2html.bat (サムネイル作成用)
    perl c:\tools\exif2html.pl %1 %2 %3 %4 %5

    - exif2html_cmt.bat (コメント入力用)
    perl c:\tools\exif2html.pl -c %1 %2 %3 %4 %5

  3. コマンドライン支援ツールのインストール (をすると便利)
  4. DOS窓オープナー
    URL: http://www.vector.co.jp/soft/dl/win95/util/se142893.html

    サムネイル作成の時、カレントディレクトリに移動しておく必要があるため。
    これをインスコしてファイルを右クリックして「送る」にある「DOS 窓オープナー」のショートカットに放り込むと、そのファイルのカレントディレクトリに移動した状態で DOS 窓が開く。

  5. SendTo に exif2html_cmt.bat を登録しておく
    コメント入力の際に必要。

■設定 (Perl スクリプト)

圧縮ファイルを展開して必要な環境を整えたら、Perl スクリプトを直接さわって設定を行います。

### テンプレートリスト
テンプレート検索用のディレクトリを配列変数形式で記述します。
@TABLE_TEMPLATE_DIR = ('DIR1', 'DIR2', ...);
という形で記述してゆきます。
複数登録しておくことで、一番はじめに見つけたテンプレートを使用することが出来ます。

Windows と UNIX 系の両方で使用している人、特に Samba などでホームディレクトリ直下に exif2html を置いている人などは、Windows のパスも使用可能です。
その場合は、W:/dir1/dir2 というように、"\""/" に変更して記述してください。
Windows 用のパス名と UNIX 系用のパス名の両方を書くことにより、Windows 使用時は Windows から見たドライブを検索するようになります。

### サムネイルディレクトリ
サムネイル画像を作成するディレクトリを指定します。
デフォルトはカレントディレクトリの thumbnail ディレクトリです。

### Mapion リンク文字列
Mapion にリンクするときのリンク文字列を指定します。

### Mapion URL
Mapion にリンクするときの URL を指定します。
座標は <<gpsinfo_ido_tokyo>> <<gpsinfo_keido_tokyo>> で設定します。


■設定 (サムネイルテンプレート)

サムネイルテンプレートは合計 4種類有り、以下のようになっています。
サムネイルテンプレートの中でどのような変換文字を使用できるかは、テンプレートの中に全ての文字列を使用しているのでそちらをご覧下さい。

table_head.html
全体テーブルのテーブル直前までのテンプレートです。

table_body.html
サムネイルテーブルです。
一番重要なのはこのファイルです。
テンプレート内で使用可能な特殊タグは << と >> で囲まれたものです。
どのタグがどのタグ名に対応しているかは、付属のテンプレートを参照してください。
なお、タグ内容が無い特殊タグは   に置換されます。

table_b-body.html
Exif 破損時のサムネイルテーブルです。
Exif が破損していたときはこのテンプレートを使用します。

table_foot.html
全体テーブルのテーブル直後からのテンプレートです。


■使い方 (共通)

いくつかのオプションを使用し、ファイル名は複数の指定が可能です。

exif2html [-c"コメント"] [-D] [-e] [file ...]

オプションを指定せずファイル名のみ指定した場合は、サムネイルを作成します。

-e Exif フィールドを別ファイルに出力します。
出力ファイル名は "入力ファイル名" + ".exif" となります。
これは、画像を編集した後に Exif 情報をその画像に戻したい場合に使用します。

使用例) by UNIX 系
% cp infile.jpg.exif tmp.jpg
% cat infile.jpg >> tmp.jpg
% mv tmp.jpg infile.jpg

-c"コメント" 画像ファイル内に Exif 型式でコメントを埋め込みます。
# 埋め込み場所は Tag No. 0x9286 "UserComment"
Exif 情報を持ったファイルにのみ適用可能です。

コメントの長さはメーカーごとに違いますが、長すぎる場合はエラーを出すようにしています。
改行は使用できません。

コメントを指定したときはサムネイルの作成は行われません。

出力ファイル名は今のところ "REWRITE-元のファイル名" 固定です。

-c オプションのみでコメントを記述しない場合、プロンプトを表示してコメント入力を促します。
改行するとコメント入力が終了します。

【!!注意!!】
この機能は現在テスト中です。
万が一のためにマスターとなるファイルのバックアップは必ず置いておいてください。

-D デバッグモードになります。
複数の詳細情報が出ますが中途半端です。

使用例)
  • コメントを埋め込む。
    % exif2html -c"コメント" IMG_00001.JPG

    % exif2html -c IMG_00002.jpg
    >Please input comment. Max size: ***byte(s).
    > ←コメント入力汁!と言ってます。

  • サムネイルを作成する
    % exif2html *.JPG
    % exif2html IMG_00001.JPG
    % exif2html IMG_00001.JPG IMG-00002.jpg

  • ■注意事項

    ■ for ALL ユーザー

    • サムネイルはカレントディレクトリに出力されるので、サムネイルを出力したいと思うディレクトリに移動してからスクリプトを実行してください。
      ※コメント入力されたファイルの出力先はこの限りではなく、対象のファイルをフルパスで指定することにより、対象のファイルと同じディレクトリにコメントの埋め込まれたファイルが出力されます。

    • GPS 情報をカシミール 3D で付加する場合の注意事項
      カシミール 3D でデジカメデータに GPS 情報を付加した場合、一部の Exif 情報が消えてしまいます。
      Canon EOS-10D でどの情報がどうなるかをまとめてみましたので参考程度にどうぞ。
      <カシミール 3D で GPS 情報を付加した時の違い>

    • Exif2HTML が想定している GPSInfo 型式は、測地系 WGS84座標形式 DMS (度分秒)です。
      また、Mapion へリンクするときは、書き込まれている経度緯度情報を強制的に TOKYO に変換しますが、この時の元データとなる測地系も WGS84 を想定しています。
      これ以外の型式で書き込みを行うと正常な値を表示しません。
      なお、Mapion 地図 URL は、変換式の誤差のために位置が微妙にずれてしまいますのでご了承下さい。
    ■ for UNIX 系ユーザー

    • 日本語の出力文字コードが SJIS となっています。
      これは Windows でも使えるようにとの苦肉の策です。
      STDERR も SJIS なんで、
      % exif2html | & nkf
      もしくは
      $ exif2html | nkf 2>&1
      とでもしてください。

    ■ for Windows 系ユーザー


    ■おまけ その1

    画像ファイルと同じファイル名を持った Exif 別体ファイルを結合するスクリプト exifmerge を同胞しています。
    使い方は、適当なディレクトリに同じファイル名を持った画像ファイルと Exif 別体ファイルを置き、そのディレクトリで exifmerge を実行するだけです。
    このスクリプトも一応中途半端に Windows 対応です。
    ファイルリスト処理に問題があるというかその部分のコードを書いてないので UN*X 系 OS のみサポートです。
    ただし、ワイルドカード展開が自力で出来ないだけなので、ファイル名を並べられるのであれば使用可能です。

    結合されたファイルは

    MERGE-(元のファイル名)
    というファイル名で保存されますが、-m オプションを使用すると元のデータのファイル名を変更した後にそのファイル名で保存されます。
    なお、その時の元のデータのファイル名は
    OLD-(元のファイル名)
    となります。

    画像ファイルと Exif 別体ファイル、どちらが一方かけていると結合動作は行われません。


    ■おまけ その2

    Exif 情報を切断するスクリプト exifcut を同胞しています。

    これは、Exif 情報を持っているがその情報が壊れてしまい、保存している Exif データと入れ替えたいときに使用します。
    # 普通の人はほとんど使用しません。

    使い方はファイル名を指定するだけですが、Windows はワイルドカード展開をしてくれないので、ファイル名を羅列するしか有りません。
    UN*X 系 OS であればシェルがワイルドカード展開を行うので問題有りません。

    使用例) % exifcut *.jpg

    なお、「Exif データのみを削除したい」という使い方は出来ず、exifcut で Exif 情報を切断したファイルを閲覧しようとすると、「無効なデータです」とエラーになり閲覧することが出来ません。
    # この辺りもサポートできればよいのですが、どうすれば Exif データを削除して JPEG 画像として保存できるのかわかりません・・・。


    ■変更履歴

    変更履歴書くのも楽じゃないな。
              ∧_∧
        ∧_∧  (´<_`; ) (ほとんど抜けてるくせに・・・。)
       ( ´_ゝ`) /   ⌒i
       /   \     | |
      /    / ̄ ̄ ̄ ̄/ |
    __(__ニつ/  FMV  / .| .|____
        \/____/ (u ⊃

    2006/12/04 Rev-1.5.1
    • Windows のサポートを中止しました。
    2006/10/24 Rev-1.5.0
    • テーブルを使わずスタイルシートでテーブルを作るような仕組みに変更しました。
      そのため、自動的に挿入される <tr> タグが無くなりましたので注意してください。
    2006/09/15 Rev-1.4.8
    • 一部微調整など。
    2006/08/13 Rev-1.4.7
    • Canon EOS 5D 用に微調整。
    2004/07/08 Rev-1.4.5
    • シャッタースピードがマイナスになるとスクリプトエラーになっていたのを修正。
    2004/07/08 Rev-1.4.4
    • 勘違いにより Exif フィールド保存サイズが合っているのはこのバージョンからです。
      Ver-1.4.3 で作成した Exif データは正常なものではありませんので作成し直してください。
    2004/07/07 Rev-1.4.3
    • Exif フィールド保存サイズが違う重大なバグを修正。
      過去のバージョンで作成した Exif データは正常なものではありませんので作成し直してください。
    • Mapion へのリンク URL をユーザーが変更できるようにした。
    • Mapion へのリンクを張るときの文字列をユーザーが指定できるようにした。
    • コメント入力時、-c のみの指定でプロンプトが出なかったバグを修正。
    • コメント入力時、入力最大サイズを表示するようにした。
    2004/07/06 Rev-1.4.2
    • 経度・緯度情報がただしく計算されない場合があったのを修正。
    2004/07/05 Rev-1.4.1
    • 緯度情報がおかしかったのを修正。
    2004/07/04 Rev-1.4.0
    • GPS 情報出力及び mapion へのリンクに対応。
    2004/06/09 Rev-1.3.1
    • Canon Exif で WB をマニュアル設定にした時の数値表示がおかしかったのを修正。
    • スクリプト本体のヘルプ表示にオプション類の説明を追加。
    2004/01/18 Rev-1.3.0
    • Exif 情報を別ファイルに出力する機能を追加。
    2004/01/18 Rev-1.2.0
    • 一部メッセージの EUC エンコード化。
      (UNIX 系の EUC コード仕様の人達が幸せに慣れたはず)
    • テンプレートファイルが見つからなかったときのエラー処理追加。
    2004/01/14 Rev-1.0.0
    • E-20 用と 10D 用を一体化、"Exif2HTML" という名前に変更。
      (それまでは機種名が付いていた・・・)
    2004/01/??
    • Canon 系 MakerNote の読み込みに目処が付いたので作成開始。
      この時は E-20 用と 10D 用が別だった。
    2003/11/??
    • Canon EOS 10D 用に作成に取りかかるも、MakerNote で挫折・中止。
    2002/??/??
    • OLYMPUS E-20 用に作成




    ←戻りません Made by HyperEdit for Windows