Linux で写真を操作 - 写真の管理 現像 投稿 KenichiroMATOHARA http://hpv.cc/~maty/ (@matoken) はじめに 最近 Linux でも写真をお手軽に扱えるようになっているのでそれを簡単にまとめてみました 何かの助けになれば幸いです 撮影した写真の管理 撮影したデータを PC に移して何時でも見られるようにします カメラのメディアを PC に挿 入することで認識します USB 接続の場合は USB マスストレージや PTP(Picture Transfer Protocol)として認識されて写真転送が可能になります 認識すると普通にファイルコピーが可 能となります iphone/ipad は PTP で認識します Android の場合は Andorid 端末側で USB マスストレー ジを有効にすることで認識するようになります カメラアプリによって保存場所が異なる場合が あるので注意して下さい 私は写真管理には F-Spot/Shotwell/Picasa を併用しています それぞれメリットデメリットが あります F-Spot1 F-Spot は Ubuntu10.04 迄 Ubuntu の標準フォトマネージャでした 認識する画像の種類が 多いのが魅力です ただ画像が多くなると重くなってきます SIGMA DP1 というカメラの RAW 形式である X3F 形式については読み込みは可能ですが画像はノイズだらけの何が 写っているのかわからない画像になってしまいます これは RAW のエンジンとして dcraw が 使われているのですが この dcraw が SIGMA DP1 の X3F に対応していないのが問題のよう です (同拡張子の別のカメラには対応している ) Shotwell2 Shotwell は Ubuntu10.10 から標準のフォトマネージャになりました F-Spot の写真を読み込 1 2 http://f-spot.org/ http://yorba.org/shotwell/ 30
む機能があるので F-Spot 空の移行は楽だと思います F-Spot に比べて動作が軽くなっていま す 読み込んだ画像を時間などによりグループ化する機能も付いているので整理しやすいで す しかし F-Spot に比べて機能が少なく物足りなく感じます 例えばフォトストレージサービス の数が少なかったり認識する画像が F-Spot に比べて少ないなどです 未対応の画像は無視 されます 後者は SIGMA DP1 というカメラの RAW 形式である X3F 形式に対応していない ので個人的に致命的です Picasa3 Picasa は Google が作成したフォトマネージャです Google のフォトストレージサービス4と 同じ名前なので混乱します Linux 用も提供されていますが 内部で Wine を使い Windows バイナリを動作させているようです 最近のバージョンには追従していないのですが5 Windows 版の Picasa3.9 を Wine 上で動作させている方も居るようです6 画像の認識する種類は多く動作も軽いです 画像は自動的にコンピュータ内から検索して 読み込みます 私は自分が写真を置いているフォルダのみ指定しています しかし偶に db か 何かが壊れるらしくそうなると直ぐ落ちてしまいます その場合は一旦設定を削除して再度写 真を読み込んでいます 現在私は F-Spot をメインに Shotwell / Picasa を補助的に使っています 複数の画像管理ソ フトの利用方法としては先ず F-Spot でメディアやカメラから写真を読み込み ~/Pictures 以下 に保存します Shotwell では手動で Picasa では自動で写真を読み込ませています この時 Shotwell / Picasa では写真をコピーしないようにします7 コピーするとその分容量が圧迫され てしまいます 以前 MacOS X の iphoto を利用していましたが動作も軽く顔認識やジオタグ機能もあって 未だ負けているなと感じました でも Shotwell で写真のグループ化を取り入れたりとそのうち 追いつくのかなと期待しています 写真の現像 最近まで写真を撮影するときはカメラで自動的に生成される jpeg を主に利用していました が最近 RAW+jpeg 撮影(両形式を同時に保存する)をメインにするようになりました 書き込み 3 4 http://picasa.google.co.jp/ https://picasaweb.google.com/ 5 6 Linux 版は 3.0/Windows 版は 3.9 http://wiki.winehq.org/picasa / http://groups.google.com/group/google-labs-picasa-forlinux/browse_thread/thread/45db5ff773d10792# 7 Shotwell は 元の場所でインポート 31
速度のこともあるのでもう少し慣れたら RAW 一本にしようかと思っています RAW というのは通常カメラのセンサから読み込んだデータをカメラ内で jpeg 形式に変換 しますが RAW はセンサのデータを jpeg などに保存せずそのままの形式で保存したものです このままでは画像として利用できないので PC 等で変換します この処理を一般に RAW 現像 と言います RAW 現像のメリットとしてはホワイトバランスやコントラストなどを操作し自分の思うような 画像に出来ることです jpeg でもある程度操作は可能ですが RAW の場合は色深度等が深 いので jpeg よりも自由度が高いです8 場合によっては露出に失敗した写真をある程度見れ る写真にするといったことも出来ます 但し飽和してしまった白トビや黒つぶれ部分は救うこと が出来ません デジタルカメラになってからフィルム以上に暗い画像を救うことが安易になっ た気がします 9 10 11 以下の画像は左がパラメータをいじらずに現像したもの 右が露出などを変更して街並み が見えるようにしたものです 私は現在 Ufraw/dcraw という現像ソフトを GIMP という画像編集ソフトと組み合わせて利 用しています UFRaw12 UFRaw で RAW ファイルを開くと GUI の画面が開きます 左側のパラメータで現像処理を し 右下の保存ボタンで ppm 形式で保存できます ppm で保存した場合 exif 情報(カメラの 撮影データなど)が消えてしまうようです 保存ボタンの右の GIMP アイコンを押すことで現像 したデータを GIMP に送ることができます その後 GIMP で jpeg ファイルなどに保存できます 8 jpeg8bit に対し RAW は 12~16bit 等 9 ピンぼけやブレなどは救えません 10 ブレについては修復技術は幾つかあるようですが未だ実用出来ではなさそうです 11 小型のピンぼけしないカメラというものが最近発表されました案外安いです http://www.lytro.com/ 12 http://ufraw.sourceforge.net/ 32
dcraw13 dcraw は基本的にコマンドラインで動作するようです 以下は実行の例です これで書き出 された 16bit PSD ファイルを GIMP 等で開いて処理しています $ dtdcraw -3 -w -g 0.45 -b 1.5 hoge.dng -3 16bit PSD 書き出し -w カメラのホワイトバランス利用 -g ガンマ値 0.45 -b 明るさ補正 +1.3 コマンドラインでの操作というと面倒そうに見えますが 同じような条件で撮影した画像を1 枚あたりを付けてその後一気に現像といったことができるので大量の現像に便利です GIMP との連携 Ubuntu には gimp-ufraw / gimp-dcraw といった GIMP と連携するパッケージがあります こ のパッケージを導入すると RAW ファイルを GIMP で開くとそれぞれ UFRaw / dcraw で開か れて処理後 GIMP に画像が渡されるようになります このとき dcraw はコマンドラインでなく簡 易な GUI 画面が開かれます このパッケージは排他となっていてどちらかしか導入できませ ん 私は UFRaw はそのまま GIMP に画像を渡す機能があるので gimp-dcraw を導入していま す 13 http://www.cybercom.net/~dcoffin/dcraw/ 33
マイナーな RAW 形式の現像 UFRaw/dcraw を利用して RAW 形式のファイルを現像していますが 全ての RAW 形式に 対応しているわけではありません 私は SIGMA SP1 というカメラの X3F という RAW ファイ ルがどちらでも現像することが出来ませんでした そこで別の方法を考えました Wine で Windows 用の純正ソフトを動作させる方法と RAW 形式を標準形式の DNG 形 式に変換する方法です Wine を利用した純正ソフトでの現像 Wine という Windows の API を実装して Windows アプリケーションを動作させるプログラ ムがあります 動くもの動かないものがありますがこれで Windows 用アプリケーションを Linux 上で動作させることが可能です これでメーカー純正の現像ソフトを利用してみます SIGMA の場合 SIGMA Photo Pro と いうアプリケーションです 日本語が化ける部分が少しありますが X3F 形式のファイルを開い て現像 jpeg 形式で保存と行ったことが可能になりました 34
Adobe DNG Converter を利用して標準 RAW 形式に変換 RAW 形式はカメラの生のセンサデータなのでメーカーやカメラごとに違うのですが 標準 形式もあります Adobe が提唱している DNG(Digital Negative)という形式です この形式に 則っていれば大抵の現像ソフトで幻像が可能になります 最近の RAW 対応カメラだと独自 形式と DNG の両方に対応していることが多いです 手元のカメラだと Pentax K-7 というカメ ラは Pentax 独自の PEF と DNG の2つの形式に対応しています PEF だと Picasa なども対応 していないのでカメラ側で DNG に設定しています Adobe はこの DNG 形式への変換プログラムを配布しています Adobe DNG Converter ( http://www.adobe com/products/photoshop/extend.displaytab2.html )です 例によって Windows/MaxOS X 用ですが Windows 用を Wine で動作させることが可能です DNG 形式 にしてしまえば UFRaw でも dcraw でも現像可能です X3F 形式も DNG 形式に変換が可能 なので SIGMA DP1 も問題ありません 35
幾つか現像方法を紹介しましたが 他にも色々な RAW 現像ソフトがあります 色々試してみ るのも良いかもしれません フォトストレージサービスへのアップロード 写真を各種フォトストレージにアップロードすると色々な人に公開することができます 私は主に Flickr14というサービスを利用しています Pro アカウント15を取得すると画像が無 制限にアップロードできるようになります16 これで jpeg ファイルを全て非公開でアップロードし 14 http://www.flickr.com/ 15 有料年間$24.95 http://www.flickr.com/upgrade/ 16 http://www.flickr.com/help/limits/#28 36
てバックアップ替わりにも使っています Facebook は長辺が 800pixel と一寸もの足りませんが無制限にアップロードできます Google の Picasa は最近 Google+と連携して Google+からアップロードした画像については 長辺 2048pixel 以下であれば無制限にアップロードできるようになりました ここでは Flickr へのアップロード方法と Picasa の Google+領域へのアップロード方法を説 明します Flickr へのアップロード Poster17という Flickr へのアップローダがあります このプログラムを利用すると簡単に写真 のアップロードが可能です アップロード前にタグ付けや説明セットの選択 パーミッションの 設定などが可能です 初回起動時にはブラウザを利用した認証が必要です 以下の例では 2GB しかアップロードできないように見えますが 表示が Flickr に追従でき ていないだけで実際は無制限にアップロードが可能です F-Spot や Shotwell からも Flickr へ直にアップロードすることが可能です Picasa はプラグイ ン18を導入することでアップロードできるようになるようですが Picasa 上で Upload したい画像 を選択し Poster へ画像をドラッグアンドドロップすることでアップロードができるので使ってい ません 17 http://burtonini.com/blog/computers/postr 18 http://picasa2flickr.sourceforge.net/ 37
Facebook への投稿 私はあまり使用していないのですが Shotwell からの直接アップロードが可能です 19 Picasa へのコマンドラインからのアップロード Picasa は現在無料での利用で 1GB 迄アップロードが可能です しかし 最近 Google+から アップロードした写真は長辺が 2048pixel に自動的に縮小されますが無制限にアップロード できるようになっています 実はこれは Picasa のアルバム名で判別しているようです Instant Upload というアルバムにアップロードすると自動的に長辺 2048pixel に縮小され このとき PicasaWebAlbam の容量は消費されません Google+の画面からアップロードしてもいいのですが GoogleCL20というプログラムがありま す このプログラムによってコマンドラインから Google のサービスにアクセスできるようになり ます Picasa への写真のアップロードも可能です この原稿執筆時点での最新版は 0.9.13 で した Windows/deb/その他の3種類のアーカイブがあります 環境に合わせて導入して下さい 初回起動時はブラウザが起動して認証を求められます この時のブラウザは JavaScript と Cookie が必須です ssh 経由でのサーバへの導入時は w3m が起動して認証に失敗しました この時は xorg と firefox を導入して X 転送経由で認証を行いました 以下は Picasa の Instant Upload アルバムに sample.jpg という写真をアップロードする例で す $ google picasa post --title 'Instant Upload' sample.jpg More than one match for title Instant Upload 0) Instant Upload 1) Instant Upload 2011-12-07 2) Instant Upload 2011-09-29-2011-12-07 3) Instant Upload 2011-09-29 4) Instant Upload 2011-09-29 5) Instant Upload 2011-08-10-2011-09-29 Please select one of the items by number: 0 Loading file FlickerUpLoader.png to album Instant Upload Loading file sample.jpg to album Instant Upload これでアップロードされました Instant Upload 年月日* というアルバムは自動的に作成さ れてしまうようです 作成される条件は Google+からアップロードされたものだと思うのですが 未確認です ここでは手動で 0 番目のアルバムを選択しています アップロードした写真の URL は list コマンドで取得可能です アルバム内の全ての URL が 取得できてしまうので grep コマンド等で制限すると良いでしょう $ google picasa list --title 'Instant Upload' grep sample.jpg sample.jpg,https://picasaweb.google.com/103792214056489833385/instantu pload02#5687551805414416146 19 ファイル 公開 写真の公開先 Facebook 20 http://code.google.com/p/googlecl/ 38
ワイルドカードを使ったり find コマンドと組み合わせると大量の写真の一括アップロードも 可能です 以下はカレントディレクトリ以下の*.JPG ファイルを一括アップロードする例です $ find. -type f -name "*.JPG" -print0 xargs -0 -I{} sh -c "yes '0' google picasa post --title 'Instant Upload' {}" おわりに 今のところこのような感じで Linux でも写真の処理に不自由なことは無くなってきました Wine に依存している部分を解決していけたらなと思っています 最近は画像をインターバル 撮影して動画にしたり HDR(high dynamic range imaging)にも手を出しています これもそ のうち発表できたらと思っています 39