ホーム ] PC技術/システム技術 ] VB.NETプログラミング ] VB.NETコンポーネント ] VC++コンポーネント ] 共通事項 ] インフォメーション ]

上へ
わが家のPC環境
64ビットPC自作
地デジ
PC音楽システム
PC写真システム
Exifファイル入門

PC技術/システム技術

PC写真システム

最終更新日:2007/02/16  修正

 写真やカメラについては、別のホーム頁に掲載しているが、ソフトウェア色の強い部分につてはこちらのホーム頁に移行してゆく。

 自分で撮影した写真は殆どPCで見ることになるが、市販のアプリでは自分のしたいことができないので、データベース化したり、自製アプリを作成したりしている。

 ここで言う写真システムとは、データベースを基調とした写真管理システムのことで、写真の撮影については触れない。写真を撮影して見て楽しむだけなら、ここで言うシステムは殆ど不要。数寄者のみ参照されたし。

●システム化の変遷

 昔、銀塩時代に始まる。かつてPCを買ったのもこのためである。

  1. 遠い昔は、フィールドノートや手書きの台帳にて写真情報を管理していたが、
  2. PCにより、エクセル化した。
  3. フィルムスキャナーを導入して写真のディジタル化を行う。
  4. エクセルでは高度なことができないので、データベース(アクセス)を導入。
  5. しかし、肝心の情報入力に頓挫。情報の発生から記録、発生元の保存が全く人力だった。
  6. フィルムカメラの情報記録機能などを使い、情報入力の自動化に努めた。
  7. ディジタルカメラになってからは、写真情報は完全に自動的に取得できるようになり、現在に至っている。EXIF情報は、当初フリーソフトなどでバッチ処理で獲得していたが、 これは結構面倒だった。現在では自製アプリにて自動収集になっている。
  8. EXIF にて撮影情報は完全に画像ファイルに埋め込まれているので、外部にデータベースを持つのは無駄なように思うが、処理の高速化、付加情報の保持、複雑な検索などには、データベースは必須。

現在の写真ワークフロー

 写真撮影の後のワークフローである。ポイントは、必要な用途別画像の自動生成、写真情報の自動収集とデータベース化で、いかに人手を省くかを念頭にしている。できた写真は、PCにて検索、鑑賞できる。

●システム基本仕様

画像仕様

  写真としては用途によってサイズや画質が決まるが、常に原画から都度生成するのは重くて時間が掛かる。また、拡大表示は避けるべきである。従って、自分の用途にあった画像を予め用意しておくのが良い。幸い、現在ではHDDの容量は飛躍的に増加し、全ての画像をオンラインファイルとできる。

フォルダ構成

 昔は、一つのフォルダにのべ単で格納していたが、枚数が増えてくるとファイルアクセス速度が遅くなるので、現在は、複数のフォルダに分散している。

データベース構成

 基本的なデータベース群(.mdb単位)と、応用データベース群からなる。データベース(群)間のリンクにてより複雑な処理を行っている。

●システム処理仕様

システム運用系

 撮影の後の運用処理で、現像、登録、鑑賞、更新などの一連の作業となる。

植物写真系

 撮影された植物の写真や、植物分類について処理する。日本産植物と外国産植物の別がある。筆者の主な対象は日本産植物である。

Web処理系

 植物の写真で分類が明らかになった写真でWeb掲載が決定されたものを自動的にWeb頁に掲載したり、解説やリンクテーブルを生成する。部分変更にも対応し、変更分のみ再生成する仕組みもある。これができてから、ホーム頁の更新が非常に楽になった。

●ソフトウェア処理事例

 ここでは、上記の各機能を以下にソフトウェア(VB.NETプログラム)で実現したかの事例を紹介する。

写真表示コントロール(FreePhoto)

 今まで、その都度ソフトウェアを開発してきたが、画像仕様やファイル仕様などが固まったので、筆者のシステムに特化された写真表示のコントロール(FreePhoto)を開発し、実際にアプリで使用しているので紹介する。

写真画像生成(CreatePhoto)

 原画のJPGから必要な画像を生成する方法である。ごく簡単な事例であるが、紹介する。

現像(Nikon Capture 4)との連携

 現像は別アプリ(Nikon Capture 4)で行うので、そのままでは、フローが途切れてしまう。これを連続で流すために、Shell関数とアプリへのパラメータ引渡しを利用している。格段に便利になった。

○Web頁自動生成

 Web頁をデータベースや写真ライブラリから自動的に静的生成する方法である。静的なのでWebサーバ側には負担を掛けない。頁更新にリアルタイム性が不要な場合は、これで十分である。

 具体的な技術については、Web Tips を参照方。

写真印刷

 市販のアプリで印刷はできるが、自分のワークフロー内で印刷する場合は、やはり自製アプリでも印刷できた方が便利。