10
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-Spot 1 F-Spot Ubuntu10.04 Ubuntu の標準フォトマネージャでした。認識する画像の種類が 多いのが魅力です。ただ画像が多くなると重くなってきます。SIGMA DP1 というカメラの RAW 形式である X3F 形式については読み込みは可能ですが画像はノイズだらけの何が 写っているのかわからない画像になってしまいます。これは RAW のエンジンとして dcraw 使われているのですが、この dcraw SIGMA DP1 X3F に対応していないのが問題のよう です。(同拡張子の別のカメラには対応している。) Shotwell 2 Shotwell Ubuntu10.10 から標準のフォトマネージャになりました。F-Spot の写真を読み込 1 http://f-spot.org/ 2 http://yorba.org/shotwell/ 30

Linux で写真を操作 - 写真の管理、現像、投稿 -

Embed Size (px)

DESCRIPTION

comicmarket81 の小江戸らぐLinuxUser に寄稿した記事

Citation preview

Page 1: Linux で写真を操作 - 写真の管理、現像、投稿 -

Linux で写真を操作

- 写真の管理、現像、投稿 -

KenichiroMATOHARAhttp://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 http://f-spot.org/2 http://yorba.org/shotwell/

30

Page 2: Linux で写真を操作 - 写真の管理、現像、投稿 -

む機能があるので 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 http://picasa.google.co.jp/4 https://picasaweb.google.com/

5 Linux 版は 3.0/Windows 版は 3.96 http://wiki.winehq.org/picasa / http://groups.google.com/group/google-labs-picasa-for-

linux/browse_thread/thread/45db5ff773d10792#

7 Shotwell は「元の場所でインポート」

31

Page 3: Linux で写真を操作 - 写真の管理、現像、投稿 -

速度のこともあるのでもう少し慣れたら 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

Page 4: Linux で写真を操作 - 写真の管理、現像、投稿 -

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

Page 5: Linux で写真を操作 - 写真の管理、現像、投稿 -

マイナーな 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

Page 6: Linux で写真を操作 - 写真の管理、現像、投稿 -

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

Page 7: Linux で写真を操作 - 写真の管理、現像、投稿 -

幾つか現像方法を紹介しましたが、他にも色々な 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

Page 8: Linux で写真を操作 - 写真の管理、現像、投稿 -

てバックアップ替わりにも使っています。

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/postr18 http://picasa2flickr.sourceforge.net/

37

Page 9: Linux で写真を操作 - 写真の管理、現像、投稿 -

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.jpgMore 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/InstantUpload02#5687551805414416146

19 「ファイル」→「公開」→写真の公開先「Facebook」20 http://code.google.com/p/googlecl/

38

Page 10: Linux で写真を操作 - 写真の管理、現像、投稿 -

ワイルドカードを使ったり 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