PhotoXP: 2004年3月アーカイブ
Exif対応写真掲示板CGI PhotoXP 1.2.0をリリースしました。
主な変更点は以下の通り。
主な変更点は以下の通り。
- メール通知機能の追加。
- アップロードサイズ制限の導入。
- 画像のファイル名を通し番号に変更。
- PENTAX(*ist D)のホワイトバランス表示に対応。
PhotoXP 1.1.2をリリースしました。
今回のバージョンアップは、Windows+Apache, WIndows+AN HTTPD環境へのインストールドキュメントに合わせての調整のみですので、1.1.1からは特にバージョンアップする必要はありません。
今回のバージョンアップは、Windows+Apache, WIndows+AN HTTPD環境へのインストールドキュメントに合わせての調整のみですので、1.1.1からは特にバージョンアップする必要はありません。
ここでは、PhotoXPをWindowsとAN HTTPDの環境にインストールする方法について説明します。
次に、メニューからオプション -> 一般と選択し一般のタブでCGIを実行するをチェック、 追加ボタンを押して、.rcgiという拡張子のファイルは、C:\ruby\bin\ruby.exeを使ってCGIとして実行するように設定します。ここでは「実行する」と「一般パスでも実行する」のチェックを忘れないようにしてください。
RubyとImageMagickのインストール
Windows版RubyとImageMagickに関しては、PhotoXPをWindows+Apache環境にインストール の場合と同様ですので、そちらを参照してあらかじめインストールしておいてください。AN HTTPDのインストール
まず、以下のサイトから最新版のAN HTTPDをダウンロードします。 現時点では、httpd142n.exeが最新となっているので、これをダウンロードして実行します。 展開先を聞いてくるので、ここではC:\anhttpdとしましょう。
AN HTTPDの設定
C:\anhttpd\httpd.exeを実行します。 この時点でhttp://127.0.0.1/readme.htmlが表示出来るはずです。
次に、メニューからオプション -> 一般と選択し一般のタブでCGIを実行するをチェック、 追加ボタンを押して、.rcgiという拡張子のファイルは、C:\ruby\bin\ruby.exeを使ってCGIとして実行するように設定します。ここでは「実行する」と「一般パスでも実行する」のチェックを忘れないようにしてください。
GDBMライブラリのインストール
PhotoXPは、UNIX環境等ではGDBMが入っていない場合にも代わりにSDBMを使用して動作するのですが、anhttpdではエラーダイアログが表示され実行が止まってしまうため、以下のURLからmswin32用のGDBMライブラリを持ってきます。 現在の最新版はgdbm-1.8.3-1-mswin32.zipとなっているので、このzipを展開してbinの下にあるgdbm.dllをC:\ruby\bin\gdbm.dllにコピーします。PhotoXPのインストール
PhotoXPを展開
PhotoXPをダウンロードし、C:\anhttpd\photoxpに展開、photoxp.cgiのファイル名をphotoxp.rcgiに変更します。C:\anhttpd\photoxp\photoxp.rcgi
ImageMagickのconvertコマンドのパスを修正
config.rbを開いて、convertコマンドの位置をフルパスで指定します。ここでは/でなく\であることに注意してください。CONVERT_COMMAND = 'C:\Program Files\ImageMagick-6.1.5-Q16\convert.exe'以上でインストール完了です。http://127.0.0.1/photoxp/photoxp.rcgiにアクセスして、「写真の投稿」から投稿をしてみてください。
ここでは、PhotoXPをWindows上で動くApache環境にインストールする方法を説明します。
各ソフトウェアは新規にインストールする事を前提にしますが、すでにインストール済みの方は、ファイル配置等を適時自分の環境に読み替えてください。
zipファイルを展開して、ruby本体が
インストール後は、PhotoXPのサムネイル画像作成に使うconvertコマンドが
このあたりは、新しいバージョンを使う場合には適時読み換えてください。
インストーラのデフォルト値のままインストールを行うと、以下のようなフォルダ構成でhttpdが動作しているはずです。
これで、.htaccessによる設定が有効になります。
以上でインストール完了です。http://127.0.0.1/photoxp/photoxp.cgiにアクセスして、「写真の投稿」から投稿をしてみてください。
各ソフトウェアは新規にインストールする事を前提にしますが、すでにインストール済みの方は、ファイル配置等を適時自分の環境に読み替えてください。
Rubyのインストール
まず、Windows版のRubyをインストールします。 mswin32,mingw,cygwin等複数の選択肢がありますが、ここでは以下からダウンロードできるmswin32版を使う事にします。 この説明を書いている時点での最新の安定版はruby-1.8.1-i386-mswin32.zipになります。zipファイルを展開して、ruby本体が
C:\ruby\bin\ruby.exeに配置されるよう、フォルダを移動、名前変更します。
ImageMagickのインストール
次に、以下にあるWindows版ImageMagickをインストールします。 現在の最新安定板はImageMagick-6.1.5-Q16-windows-dll.exeとなっているので、これをダウンロードしてインストールします。インストール後は、PhotoXPのサムネイル画像作成に使うconvertコマンドが
C:\Program Files\ImageMagick-6.1.5-Q16\convert.exeに配置されているはずです。
このあたりは、新しいバージョンを使う場合には適時読み換えてください。
Apacheのインストール
最後に、Windows用のApache HTTP Serverをダウンロードして、インストールします。 これも沢山ファイルがありますが、インストーラ付きの実行ファイルを入れるのが簡単です。 この解説を書いている時点での最新版apache_2.0.52-win32-x86-no_ssl.exeになります。インストーラのデフォルト値のままインストールを行うと、以下のようなフォルダ構成でhttpdが動作しているはずです。
C:\Program Files\Apache Group\Apache2 # ServerRoot C:\Program Files\Apache Group\Apache2\htdocs # DocumentRoot C:\Program Files\Apache Group\Apache2\conf\httpd.conf # 設定ファイルこの時点で、ブラウザでhttp://127.0.0.1/が表示出来る事を確認してください。
Apacheの設定
インストールしたままの状態では、CGIの実行が出来ないので、C:\Program Files\Apache Group\Apache2\conf\httpd.confの中の
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
...省略...
AllowOverride None # NoneをAllに書き換える
...省略...
</Directory>
AllowOverride Noneという部分をAllowOverride Allに書き換えて保存、
画面右下のタスクトレイにある、Apache Service Monitorを使ってApacheをリスタートします。これで、.htaccessによる設定が有効になります。
PhotoXPのインストール
PhotoXPを展開
PhotoXPをダウンロードし、DocumentRoot(C:\Program Files\Apache Group\Apache2\htdocs)の下に展開、photoxp-[バージョン番号]となっているバージョン番号部分を削ってphotoxpという名前に変更し、CGI本体をC:\Program Files\Apache Group\Apache2\htdocs\photoxp\photoxp.cgiに配置します。対応するURLはhttp://127.0.0.1/photoxp/photoxp.cgiとなります。
rubyのパスを修正
photoxp.cgiの先頭行にある、rubyのパスはUNIXを前提としているので、先ほどインストールしたrubyのパスに修正します。#!C:/ruby/bin/ruby.exe
ImageMagickのconvertコマンドのパスを修正
config.rbを開いて、convertコマンドの位置をフルパスで指定します。ここでは/でなく\を使う事に注意してください。CONVERT_COMMAND = 'C:\Program Files\ImageMagick-6.1.4-Q16\convert.exe'
以上でインストール完了です。http://127.0.0.1/photoxp/photoxp.cgiにアクセスして、「写真の投稿」から投稿をしてみてください。
PhotoXP 1.1.1をリリースしました。
今回の修正では以下を実現しています。
今回の修正では以下を実現しています。
- とりあえず展開してパーミッションを変更するだけで動作。
- Windowsへのインストールに対応。
- GDBMが無くても動くようになった。
ここでは、一般的なUNIX環境を前提とした、PhotoXPの簡易インストールについて説明します。
ディレクトリ構成などをカスタマイズしたい方は、旧バージョンのインストール方法も参考にしてみてください。
ディレクトリ構成などをカスタマイズしたい方は、旧バージョンのインストール方法も参考にしてみてください。
動作環境
PhotoXPはRuby 1.8とImageMagick、ApacheなどのWebサーバが動いていれば動作します。当然ですが、Webサーバ上でCGIの実行をサポートしている事が前提になります。インストール手順
インストールされているrubyが1.6でなく1.8であることを確認し、ImageMagickのconvertコマンドもパスを確認。$ which ruby /usr/local/bin/ruby $ ruby -v ruby 1.8.1 (2003-12-25) [i686-linux] $ which convert /usr/bin/X11/convertphotoxpをダウンロード、展開し、photoxp-[バージョン番号]となっているディレクトリ名をphotoxpに変更します。
$ cd ~/public_html $ tar zxf photoxp-1.6.5.tar.gz $ mv photoxp-1.6.5 photoxp $ cd photoxp $ ls COPYING ChangeLog GPL README config.rb data image lib log misc photoxp.cgi templateディレクトリのパーミッションを設定します。
$ chmod 777 log $ chmod 777 data/photoxp $ chmod 777 image/photoxp自分の環境に合わせて、スクリプトの下記の行を書き換えます。
photoxp.cgiの先頭行: #! /usr/local/bin/ruby config.rb: CONVERT_COMMAND = '/usr/bin/X11/convert'次に、掲示板の管理用パスワードを修正してください。
data/photoxp/board.conf: @admin_passwd = 'changeme'これで、設置したURLを開いて動作を確認します。
http://www.example.com/~myname/photoxp/photoxp.cgi以上。 一口にUNIX環境と言っても色々ありますので、 質問等ありましたら、お気軽にコメントいただければと思います。
PhotoXP 1.1.0をリリースしました。
今回の最大の変更点は、Exif解析ライブラリをexifparserから新規開発のexifcodecに差し替えた事です。
これで、MakerNoteの拡張がやりやすくなったので、徐々に対応機種を増やして行きたいと考えてます。
今回の最大の変更点は、Exif解析ライブラリをexifparserから新規開発のexifcodecに差し替えた事です。
これで、MakerNoteの拡張がやりやすくなったので、徐々に対応機種を増やして行きたいと考えてます。
プログラムのインストール方法、改造などに関する情報交換用に、メーリングリストを準備しました。
以下のフォームにメールアドレスを入力して、「参加」を押してください。
参加希望の方は、majordomo@freeml.com宛に、本文に
subscribe photoxpとだけ書いたメールを送るか、
以下のフォームにメールアドレスを入力して、「参加」を押してください。
準備中です。
PhotoXPでサポートしている、Exifと各社独自のMakerNoteの解析に関する情報をまとめるページです。
掲示板
Exif解析情報の交換と作業用に掲示板を用意しました。 また、サポートして欲しい機種などがありましたら、画像を投稿していただければ解析を試みてみたいと思います。Exif 関連リンク
- Exif解析ライブラリ
- exiftool - オススメ PerlのImage::ExifToolモジュール。Exifを読み書き可能で、解析できるMakerNoteの項目も一番多そう。
- ExifInfo.pl - joyfulexifのExif解析ライブラリ。
- libexif - Exif解析用Cライブラリ
- Exiv2 - C++のExif解析ライブラリ、MakerNoteにも対応。
- ruby-libexif / exifparser - CライブラリlibexifのRubyラッパー、およびPure Rubyなexif解析ライブラリexifparser
- exiftags - Cで書かれたexif解析プログラム
- Image::Info - CPANにある、Perlの画像ファイル解析ライブラリ。
- ドキュメント
- Exif形式の画像ファイル解説 - オススメ JPEGとExifのデータ形式について分かりやすくまとめてあるサイトです。最初にここの解説を見ながらデコーダを作成しました。
- ExifTool Tag Names - オススメ ExifToolでサポートしているタグに関する説明。
- Exif MakerNote 解析情報 - JpegAnalyzer作者のKamisakaさんがまとめられたMakerNote情報。
- Album Maker - Album Makerという電子アルバムソフトのページにあるEixf解説
- EXIF.org - John HawkinsさんがやってるExif情報サイト。
- Minolta MakerNote - Dimage7, 7i等のMakerNote情報を解説しています。
- Canon PowerShot S10 MakerNote
- Sanyo MakerNote
- Nikon E990 MakerNote
- SIGMA and FOVEON EXIF MakerNote
- PENTAX レンズID
- Exif解析ソフト
- Exif Reader - オススメ Windows用Exif解析フリーソフトウェア。各社MakerNote情報が解析でき、いつも答え合わせに使わせていただいてます。デジカメユーザ必携です。
- JpegAnalyzer - オススメ Exifに限らずJPEGフォーマット全般を解析できるソフトウェア。
- Exif Quick Viewer - エクスプローラーのコンテキストメニューから起動できるExifビューワー
- Able Catalog Viewer - Exif情報を解析、編集できる画像管理ソフトウェア
- Exif2Clip - Windows用Exif解析ソフト。
- Exifer - PHP製Exif解析ソフト。
- Exif Software - About.comのExifソフト紹介
- Exif対応画像掲示板
- Exif 情報対応版 Joyful Note - オススメ KentWebで配布されているJoyful NoteにExif表示機能を追加したものです。
- Dezi Board - PHP製Exif掲示板。
- PHOTO-STATION IM - Perl /ImageMagickを使ったExif対応掲示板。
- "exifread.pl"ダウンロードページ - ExifのGPS情報を扱える画像掲示板。
- LibraBoard - Exif対応の有料掲示板CGI
はじめに、PhotoXPの動作に必要となる環境は、通常のPerlのCGIスクリプト等と比べてかなり厳しいと言えます。
http://www.mydomain.com/~myuser/photoxp/photoxp.cgi
主たる利用者としては、自分で自宅サーバを運用しているような、ある程度のサーバ管理とプログラミングスキルがある人を想定しています。
正直なところ、ドキュメントもインストーラも整備されてないため、現状のインストール方法は非常に分かりにくいと思いますが、徐々に整備して行こうと思っていますので、よろしくお願いします。。。
動作環境
RubyとImageMagickがインストールされているUNIXマシンならたいてい動作すると思います。 詳しい調査はしていないので動作報告募集中です。とりあえず、daifukuya.comでは以下の環境で動作しています。
- Linux kernel 2.4.18
- Apache 1.3.27
- Ruby 1.8.0-preview2 (2003-03-03)
- ERB 2.0.2 (Ruby 1.8では標準装備)
- exifparser (CVSの最新版を使用してください。)
- ImageMagick 5.4.3
インストール手順
exifparserライブラリをインストールしておきます。インストールされているRubyとImageMagickのパスを確認。
$ which ruby /usr/local/bin/ruby $ which convert /usr/X11R6/bin/convertphotoxp用ディレクトリを決めて、ファイルを展開します。
$ cd /home/myuser $ tar zxf photoxp-1.0.0.tar.gz $ ln -s photoxp-1.0.0 photoxp $ cd photoxp $ ls COPYING GPL README data image lib template掲示板データファイルのパーミッションを設定します。
$ cd /home/myuser/photoxp/data/photoxp $ chmod 666 board.gdbmCGIを設置します。(.cgiでCGIを実行できることを前提としています。) このあたりは、サーバの設定によって出来ること、出来ないことがありますので、自分の環境に合わせて設定していってください。
$ cd /home/myuser/public_html
$ mkdir photoxp
$ cd photoxp
$ ln -s /home/myuser/photoxp/lib/photoxp/photoxp.cgi .
(もしくは cp /home/myuser/photoxp/lib/photoxp/photoxp.cgi .)
画像用ディレクトリを用意して、アイコンをコピーします。
$ cd /home/myuser/public_html $ mkdir photoxp-image $ chown 777 photoxp-image $ cd photoxp-image $ cp /home/myuser/photoxp/image/*.gif .自分の環境に合わせて、スクリプトの下記の行を書き換えます。
photoxp.cgi: #! /usr/local/bin/ruby photoxp_root = '/home/myuser/photoxp/lib' config.rb: ROOT = '/home/myuser/photoxp' BASE_URL = 'http://www.mydomain.com/~myuser/photoxp' IMAGE_DIR = '/home/myuser/public_html/photoxp-image' IMAGE_URL = 'http://www.mydomain.com/~myuser/photoxp-image' COOKIE_DOMAIN = '.mydomain.com' COOKIE_PATH = '/~myuser/photoxp/' CONVERT_COMMAND = '/usr/X11R6/bin/convert'PhotoXPを設置したURLを開いて、表示できるか確認します。
http://www.mydomain.com/~myuser/photoxp/photoxp.cgi
以上、不十分な点も多々あるかと思いますが、質問等ありましたらコメントいただければと思います。
PhotoXP(Photographic eXPerience Bulletin Board System)は、デジタルカメラ画像に埋め込まれたExif情報を自動的に解析し表示できる写真掲示板プログラムです。
単に画像を投稿して楽しむだけでなく、撮影時の絞りやシャッタースピード・露出補正値等を表示することで、写真撮影技術向上のための一歩踏み込んだ議論が出来る掲示板を目指しています。
単に画像を投稿して楽しむだけでなく、撮影時の絞りやシャッタースピード・露出補正値等を表示することで、写真撮影技術向上のための一歩踏み込んだ議論が出来る掲示板を目指しています。
特徴
PhotoXP写真掲示板には、以下のような特徴があります。- デジカメで撮った写真を投稿するだけで、Exif情報を自動的に解析・表示する事が可能。MakerNoteと呼ばれるメーカー独自情報にも対応している。
- Exif GPSに対応。GPSケータイで撮った写真を投稿すると、自動的に地図サイトへのリンクを表示。
- 新着写真投稿がRSSでチェック出来る。
- 白飛び、色飽和のチェックに便利な、ヒストグラム表示機能付き。
- オブジェクト指向スクリプト言語Rubyで記述されている。
- ユーザーインターフェースは、有名なスレッド表示型掲示板に準拠。
- GPLライセンスのフリー(無料、自由な)ソフトウェア。
- photoxp.daifukuya.comサイト上のみですが、機種別、レンズ別の写真を見る事が可能。
- デジタル一眼レフや、マニュアル撮影機能の付いたデジタルカメラを使用しており、写真が上手くなりたいと思っている人。
- プロの写真家、カメラマンまたは周りの人に写真の指導をする立場にあり、ホームページ上で写真の添削やアドバイスをしたいと考えている人。
- 写真撮影の技術論と好き嫌いを分けて議論したいと思っている人。(撮影データがあるからこそ出来る議論もあるかと)
- ADSLやFTTH(光ファイバー)等を使用して、自宅サーバを運用している人。(数百万画素のデジカメ画像をそのまま扱うため、必要なディスク容量、ネットワーク帯域、CPU負荷は結構大きい)
- Rubyist(Rubyプログラマー)でRuby製掲示板CGIを探している人。
歴史
- 2002/GW - 先に作っていたRuby製Exif解析ライブラリと、erubyで作成した掲示板を組み合わせて、一応動く物が出来た。
- 2002/5/19 - PhotoXP βテスト開始。
- 2002/11 - PhotoXPの次期バージョンで、田村さん作成のexifparserライブラリを使用することに決定。erubyから通常のCGIに変更して再設計。
- 2003/3/30 - PhotoXP 1.0として公開 。
- 2004/3/14 - PhotoXP 1.1リリース。Exif解析ライブラリをexifcodecに変更。
