この記事にはプロモーションが含まれています。
前回の記事では、rawpyを導入しました。
その際に、rawpy内のpostprocessクラスで現像すると、ホワイトバランスのパラメータがカメラ内現像処理と差分があることが分かりました。
そこで、今回はRAW画像に埋め込まれているデータを簡単・軽量に確認する方法をまとめます。
Exifとは
EXIF (Exchangeable image file format) は、デジタルカメラで撮影された写真や画像に埋め込まれたメタデータになります。
Rawやjpgなどの画像フォーマットには、たいていexif情報が埋め込まれています。
PC上で画像ファイルを右クリックして表示できるプロパティもExifを参照してます。
rawpyでExif情報を確認する
それでは、rawpyでexif情報を確認してみます。
vscodeなどのデバッグ機能を持つエディタで、デバックモードでrawpyが含まれたファイルを実行します。
そうすると、rawpyで読みだした画像データが持っている各パラメータを確認できます。
rawpyの場合、メソッドの形で各パラメータは保持されてます。
このため、これを読み出すコードを作成すれば、デバッグモードを実行しなくても値を確認できます。
例えば、各チャンネルの黒レベルを読み出すテストコードを作成し、実行します。
import rawpy
import cv2
import os
raw_filename = '.\\test.ARW'
in_raw = rawpy.imread(raw_filename)
out_raw = in_raw.postprocess()
print(in_raw.black_level_per_channel)
> python test_get_rawparam.py
[512, 512, 512, 512]
このように、黒レベルが512であることが確認できました。
他にRawPyクラスからどんな値が読み出せるのかは、APIドキュメントを参考に参考にしてください。
ExiftoolでExif情報を確認する
エディタのデバッグ機能や一つ一つをメソッドで読み取るのは、確認したいものが決まっているときは有用です。
しかし、exifデータを網羅的に確認したいときには使いづらいです。
このようなときは軽量に動作するExiftoolというアプリが便利です。
まずは、公式HPに飛びます。
Windows、Macでダウンロードリンクが張られているので、それをダウンロードします。
ダウンロードした圧縮ファイルを展開すると、exeファイルがあります。
そこに、exif情報を読み取りたい画像ファイルをドラッグ&ドロップします。
インストールをしていないexeファイルを実行する場合、システム側から警告が出ることがありますが、気にせず実行してください。
すると、exif情報がズラズラと表示されます。
このExif情報を確認することで、前回記事で扱ったホワイトバランス値が確かにオートと昼光で違うということが確認できます。
まとめ
今回は、画像に埋め込まれているExif情報を簡単・軽量に確認する方法についてまとめました。
他にも、写真ビューアアプリで確認する方法があります。
しかし、ホワイトバランスのような少し込み入ったパラメータを確認したい場合は、Photoshopなどの少し高尚な画像編集ソフトが必要になると思います。
また、pythonでExifを確認するライブラリもあるようですが、もっと手軽に確認したいケースもあるでしょう。
今回紹介した方法はいずれもかなり手軽で、軽量に動作します。
これらを試した後に、各々のケースに合わせて、追加ツールなどの使用を検討いただくのもいいのではないでしょうか。
コメント