みぃちゃんの頭の中はおもちゃ箱

略してみちゃばこ。泣いたり笑ったり

私の写真整理術

2007年09月02日 19時50分38秒 | IT・デジタル
写真の整理には各人各様の工夫があるようです。文書と違って画像はいまだに検索技術が確立していないため、雑多な写真をごちゃごちゃと保存していると、必要なときに必要な写真を選び出せなくなってしまいます。

撮影地、撮影テーマ、日付などでフォルダを作成して写真を格納する方法が一般的なようですが、その方法では、1枚の写真を多面的に検索することができません。例えば、○○公園の池で茶色のカモを写した写真を探し出したくても、そのような細かい条件で写真を検索することができないのです。

私の場合は、写真の概要を記したインデックスをテキストファイルで作って管理しています。このインデックスの各行には、写真のファイル名、撮影日、概要をタブ区切りで入力します。ファイルは以下のようになります (△はタブを示します)。

A039524.JPG △ 20070803 △ 多賀大社の万灯祭。手水場
A039525.JPG △ 20070803 △ 多賀大社へ続く街路の行灯
A039526.JPG △ 20070803 △ 多賀大社へ続く街路の行灯
A039529.JPG △ 20070803 △ 多賀大社へ続く街路の露店
A039530.JPG △ 20070803 △ 多賀大社へ続く街路の露店
A039532.JPG △ 20070803 △ 多賀大社へ続く街路の行灯
A039537.JPG △ 20070803 △ 多賀大社へ続く街路の行灯と休憩所


写真管理アプリケーションは使いませんし、インデックスの作成にもExcelなどの特定のアプリケーションは使いません。特定のアプリケーションに依存すると、そのアプリケーションが使えなくなったときの損失が大きすぎます。テキストファイルならどのコンピュータでも (Windowsパソコンに限らず、MacやUNIXマシンでも) 使え、読み込みや管理も簡単です。

写真を探すときには、上記のインデックスをテキスト検索します。テキスト検索ですから、Windowsパソコンに限らず、UNIXワークステーションでも可能です (たかが趣味の写真整理にUNIXワークステーションを使うことはないでしょうけど)。

例えば、多賀大社の写真を探したければ、コマンドラインから以下のコマンドを実行します。
grep "多賀大社" index.txt >result

2006年7月から8月に撮った写真を探したければ、
grep "20060[7-8]" index.txt >result

複数のキーワードで検索するのも簡単です。
grep "多賀大社" index.txt |grep "(街路|道)" >result

キーワードの順序が明らかな場合は、パイプを使うまでもありません。
grep "多賀大社.*(街路|道)" index.txt >result

下手な写真管理アプリケーションより はるかに高速で柔軟性も高く、汎用性もあります。たとえWindowsが廃れてしまっても、テキストファイルはずっと使えますから。

検索結果にはファイル名が書いてあるだけで、写真自体をすぐに見られないじゃないかって? 検索結果を別のフィルタにかけてしまいましょう。下記のPerlスクリプトimglist.plに検索結果を入力します。
imglist.pl

$dir = "base_directory_name\\";
print	"<html>\n",
	"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n",
	"<body>\n";
while (<>) {
	my @fields = split(/\t/);
	next if (@fields != 3);
	print	'<a href="',$dir,$fields[0],'">',
		'<img src="',$dir,$fields[0],'" width=200 border=0> ',
		$fields[1],' ',$fields[2],
		"</a><br><br>\n";
}
print "</body></html>\n";
exit;

1行目の$dirには、写真格納用のディレクトリを指定しておきます。

grepと一括して実行すると便利。

grep "多賀大社" index.txt |perl imglist.pl >result.html
grep "20060[7-8]" index.txt |perl imglist.pl >result.html
grep "多賀大社" index.txt |grep "(街路|道)" |perl imglist.pl >result.html
grep "多賀大社.*(街路|道)" index.txt |perl imglist.pl >result.html

コマンドの実行後に結果ファイル (上記の例ではresult.html) をブラウザで開けば、検索された写真のサムネイルが表示されます。サムネイルをクリックすると、該当する写真が表示されます。プリントしたい場合は、ブラウザの印刷機能を使います。

市販の写真管理アプリケーションと同じことが、たった14行のスクリプトでできちゃうんだよー。

私の写真整理の流れ:

  1. 撮影した写真を写真用のディレクトリにコピーします。

  2. 各写真のファイル名を通し番号に変更します (A000000.JPG、A000001.JPG、……など)。このときの通し番号は、過去に撮影した写真も含めた番号にして重複を防ぎます。ファイル名の変更はコマンドひとつで済むようにしてあります。

  3. 失敗した写真 (ぶれている写真、露出が適正でない写真、構図が気に入らない写真など) を削除します。

  4. ディレクトリで新規の写真ファイルを検索し、ファイル名と撮影日をリストアップします。この処理もコマンドひとつで済むようにしてあります。

  5. 生成されたリストに、それぞれの写真がどこで何を撮ったものか説明を入力します。


これだけ。それぞれの写真に説明を入力する手間がかかりますが、検索のキモなので手は抜けません。


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。