少しご挨拶が遅くなりましたが、あけましておめでとうございます。本年も、「しなぷすの独り言」および「しなぷすのハード製作記」をよろしくお願いたします。
さて、私は、写真のレタッチにPhotoDirector 9を使っていたのですが、GIMPに移行しつつあります。
GIMPのレタッチのしやすさには満足しているのですが、RAW撮影したファイルを16ビットTIFFファイルに書き出して、GIMPでレタッチ後にJPEGファイルとして保存すると、EXIF情報が書き出されずに困っていました。
最近、その解決方法を見つけました。ネット上で検索すると、同じ事に悩んでいる人がいらっしゃるみたいなので、このブログで解決法をシェアする事にしました。
なお、記事では、64ビット版Windows 10でGIMP 2.10.8を使う事を前提に説明をします。
GIMPとは
GIMPをご存知ない方のために、GIMPについて簡単に説明しておきます。
GIMPはGNU Image Manipulatiom Programの略で、オープンソースの画像処理プログラムです。写真のレッタッチに使ったり、ペイントソフトとして絵を描くのに使ったりできます。
無料で使えるのに、PhotoShop並みのレタッチができるとして、一部の写真愛好家が使っています。
ただ、PhotoShopが印刷業界のスタンダードになっており、GIMPのファイルでは仕事上のやり取りができない事や、GIMPはRGBの色空間には強いのですが、CMYKの色空間をPhotoShopほどうまく扱えない事から、プロはGIMPではなくPhotoShopを使う場合がほとんどです。
しかし、アマチュア写真家が写真をレタッチしてJPEGファイルに仕上げる場合は、レタッチ途中のファイルを他人とやり取りする事もないですし、写真を印刷しない限りCMYKの色空間を使わない事から、PhotoShopではなくGIMPを使っても、デメリットを感じる点が少ないです。
GIMPでフォトレタッチをする時にEXIFがうまく扱えない現象
RAWで写真撮影する場合、RAWファイルをRAW現像ソフトで16ビットのTIFFファイルに変換し、GIMPなどのフォトレタッチソフトでレタッチした後に、JPEGファイルに保存するのが一般的です。
この様に、16ビットのTIFFファイル経由で写真をGIMPに渡し、レタッチ後の写真をJPEGファイルに保存すると、TIFFファイルに埋め込んであったEXIF情報がJPEGファイルには埋め込まれないのです。撮影に使ったレンズやF値、シャッター速度などの撮影条件が、レタッチ後のJPEGファイルからは分からないので、困っていました。
ネットを検索すると、同じ様にTIFFファイルのEXIF情報が、レタッチ後のJPEGファイルに埋め込まれなくて困っている方がいらっしゃいました。
上記リンクのYahoo!知恵袋を読んでも、あまり参考になる回答は付いていませんでした。
下の図のように、RAW現像ソフトで写真を保存する際に、JPEGファイルを使えば、GIMPでフォトレタッチしても、ちゃんとEXIF情報が引き継がれたJPEGファイルが生成されるのですが、画質が劣化するので面白くありません。
GIMPはTIFFファイルのEXIF情報を読み込むもののJPEGファイルには引き継がない
GIMPは、JPEGファイルを読み込んで、(必要ならレタッチ後に)JPEGファイルに書き出す場合は、元のJPEGファイルのEXIF情報を、新しいJPEGファイルに引き継げます。
しかし、TIFFファイルを読み込んで、(必要ならレタッチ後に)JPEGファイルに書き出す場合は、EXIF情報がないJPEGファイルを生成してしまう様です。
試しに、EXIF情報が埋め込まれたTIFFファイルをGIMPに読み込んで、JPEGファイルに保存してみます。
まず、適当なEXIF情報の埋め込まれたTIFFファイルを用意します。Windowsエクスプローラのプロパティで、EXIF情報がTIFFファイルに埋め込まれているのを確認します。
このTIFFファイルをGIMPに読み込んでみます。
そして、読み込んだTIFFファイルのEXIF情報を、GIMP上で確認します。画像→Metadata→Veiw Metadataメニューで、読み込んだ画像のEXIF情報を確認できます。
この様に、GIMPにはTIFFファイルのEXIF情報が読み込まれています。
次に、この写真をJPEGファイルとしてエクスポートします。
その結果できたJPEGファイルのプロパティを見ると、EXIF情報がない事が分かります。
どうしてTIFFファイルのEXIF情報を読み込むのに、JPEGファイルにエクスポートする際にEXIF情報が欠落するのかわかりません。GIMPの仕様でしょうか?バグでしょうか?
解決法:JPEGファイルにEXIF情報とTIFFファイルの画像情報を利用する
JPEGファイルで画像をGIMPに渡し、レタッチ後にJPEGファイルとして保存すると、EXIF情報が引き継がれるので、それを利用すると、問題が解決できます。
しかし、単純にJPEGファイルで画像をGIMPに渡すと、前述の様に画質が劣化しますから、JPEGファイルとTIFFファイルで2重に画像ファイルを渡し、JPEGファイルはEXIF情報だけ、TIFFファイルは画像情報だけを利用します。
まず、RAW現像ソフトで、写真をJPEGファイルと16ビットのTIFFファイルの2つのファイルに現像します。
元々RAW+JPEGで撮影している場合は、JPEGに現像する必要はなく、撮影時にカメラが生成したJPEGファイルで代用して構いません。パソコンでRAW現像する時に指定するパラメータが、カメラが生成したJPEGファイルには反映されていませんが、JPEGファイルからはEXIF情報しか利用しないので、画質の良し悪しは関係ありません。
同じ写真のJPEGファイルとTIFFファイルが用意できたら、GIMPでまずJPEGファイルの方を開きます。
次に、画像の色深度を16ビット整数に拡張します。この作業を忘れると、後に16ビットのTIFFファイルを読み込む際に、8ビットに減色されてしまいます。
色深度を16ビット整数に拡張するには、画像→Precisionメニューで、16 bit integerを選んでください。
次に、TIFFファイルをレイヤーとしてインポートします。
こうすると、先に開いたJPEGファイルの上のレイヤーにTIFFファイルがインポートされます。念のために、TIFFファイルの不透明度が100%になっているのを確認しましょう。
この状態では、JPEGファイルのレイヤーはあるものの、その上のTIFFファイルのレイヤーが不透明度100%で覆っているので、JPEGファイルの画像情報はGIMPの画像には影響を与えない事になります。
そうして、上のTIFFファイルのレイヤーをレタッチします。
レタッチが終わったら、画像をJPEGファイルとしてエクスポートします。
元々のJPEGファイルに上書きしない様にしたいなら、ファイル名を適当に変えましょう。上の例では、元のファイル名に”-retouched”を付けいています。この際に、拡張子が.jpgになっている事を確認してください。
エクスポートされたJPEGファイルのプロパティを確認すると、EXIF情報が埋め込まれているのが分かります。
以上のように、JPEGファイルとTIFFファイルを両方使う事により、画質を落とすことなく、EXIFファイルをレタッチ後の写真に引き継げました。
EXIF情報を抽出したり、書き込んだりするソフトを使う方法もありますが、この記事で紹介した方法では、RAW現像ソフトとGIMPだけで問題を解決できますので、より簡便だと思います。特に、私の場合はRAW撮影する時は、ほぼ必ずRAW+JPEGをカメラで記録していますから、JPEGファイルに現像する手間がありません。
- PIXTAで公開しているしなぷすの写真
- 写真ACで公開しているしなぷすの写真
- しなぷすがストックフォトで公開している電子工作関係の写真・イラスト
- しなぷすがストックフォトで公開している駅関係の写真の一覧